Skip to content

overlane observe alerts

List alert rules and incidents

Updated View as MarkdownOpen in ChatGPTOpen in Claude

Alert rules (spend cap reached, failing run, stuck lease, stale index) with where each one goes, and the incidents they opened. An incident fires once; resolving it is a separate notice.

Usage

overlane observe alerts

Examples

overlane observe alerts
overlane observe alerts --json

Behavior

  • Effect: read (changes nothing).
  • Needs credentials: yes. Uses the network: yes.
  • Supports --dry-run: no. Accepts --force: no.
  • Machine-readable description: overlane schema observe alerts.

Result

With --json (the default when stdout is not a terminal) the command prints this JSON Schema’s shape on stdout.

{
  "type": "object",
  "properties": {
    "tenantId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      "description": "tenant identifier"
    },
    "rules": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "tenantId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
            "description": "tenant identifier"
          },
          "ruleId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "kind": {
            "type": "string",
            "enum": [
              "spend_cap",
              "failing_run",
              "stuck_lease",
              "index_stale"
            ]
          },
          "threshold": {
            "type": "object",
            "properties": {
              "percent": {
                "type": "integer",
                "minimum": 1,
                "maximum": 100
              },
              "minutes": {
                "type": "integer",
                "minimum": 1,
                "maximum": 10080
              }
            },
            "additionalProperties": false
          },
          "targets": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "channel": {
                  "type": "string",
                  "enum": [
                    "email",
                    "slack",
                    "teams"
                  ]
                },
                "destination": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                }
              },
              "required": [
                "channel",
                "destination"
              ],
              "additionalProperties": false
            }
          },
          "enabled": {
            "type": "boolean"
          },
          "updatedBy": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
          }
        },
        "required": [
          "tenantId",
          "ruleId",
          "kind",
          "threshold",
          "targets",
          "enabled",
          "updatedBy",
          "updatedAt"
        ],
        "additionalProperties": false
      }
    },
    "incidents": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "tenantId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
            "description": "tenant identifier"
          },
          "incidentId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "ruleId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128
          },
          "kind": {
            "type": "string",
            "enum": [
              "spend_cap",
              "failing_run",
              "stuck_lease",
              "index_stale"
            ]
          },
          "key": {
            "type": "string",
            "minLength": 1,
            "maxLength": 300
          },
          "subject": {
            "type": "string",
            "minLength": 1,
            "maxLength": 300
          },
          "detail": {
            "type": "string",
            "maxLength": 1000
          },
          "state": {
            "type": "string",
            "enum": [
              "open",
              "resolved"
            ]
          },
          "openedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
          },
          "resolvedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
          },
          "nextCommand": {
            "type": "string",
            "maxLength": 300
          },
          "deliveries": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "channel": {
                  "type": "string",
                  "enum": [
                    "email",
                    "slack",
                    "teams"
                  ]
                },
                "destination": {
                  "type": "string"
                },
                "outcome": {
                  "type": "string",
                  "enum": [
                    "delivered",
                    "failed"
                  ]
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "opened",
                    "resolved"
                  ]
                },
                "at": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                }
              },
              "required": [
                "channel",
                "destination",
                "outcome",
                "kind",
                "at"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "tenantId",
          "incidentId",
          "ruleId",
          "kind",
          "key",
          "subject",
          "detail",
          "state",
          "openedAt",
          "nextCommand",
          "deliveries"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "tenantId",
    "rules",
    "incidents"
  ],
  "additionalProperties": false
}

See exit codes for the status the process returns.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close

Overlane Agent

Ask about the docs. Answers are quoted from the pages, with links. This panel cannot change anything.

    Questions are answered in your browser from the docs index. Nothing you type here is stored or sent anywhere.