Usando la CLI para monitores

Descripción general

Puedes usar la SUSE® Observability CLI para inspeccionar, ejecutar y modificar monitores:

sts monitor
Manage, test and develop monitors.

Usage:
  sts monitor [command]

Available Commands:
  apply       Create or edit a monitor from STY
  clone       Clone a monitor
  delete      Delete a monitor
  describe    Describe a monitor in STY format
  disable     Disable a monitor
  edit        Edit a monitor
  enable      Enable a monitor
  list        List all monitors
  run         Run a monitor
  status      Get the status of a monitor

Use "sts monitor [command] --help" for more information about a command.

Depurando Monitores

Puedes usar varios SUSE® Observability comandos de la CLI para depurar un monitor.

Listando Monitores

El sts monitor comando puede listar todos los monitores:

sts monitor list
ID              | STATUS   | IDENTIFIER                                    | NAME                                          | FUNCTION ID     | TAGS
68172545000282  | ENABLED  | urn:stackpack:aad-v2:shared:monitor:aad-http- | AAD: HTTP 4xx error rate (req/s)              | 208329585629344 | []
                |          | 4xx-error-rate                                |                                               |                 |
129505918833814 | DISABLED | urn:stackpack:aad-v2:shared:monitor:aad-http- | AAD: HTTP 4xx response time (s) (95th percent | 208329585629344 | []
                |          | 4xx-response-time-95th-percentile             | ile)                                          |                 |
214616421668585 | ENABLED  | urn:stackpack:aad-v2:shared:monitor:aad-http- | AAD: HTTP 5xx error rate (req/s)              | 208329585629344 | []
                |          | 5xx-error-rate                                |                                               |                 |

Describiendo Monitores

Puedes obtener la definición de un monitor existente usando el describe comando:

sts monitor describe --id 68172545000282
_version: 1.0.93
nodes:
- _type: Monitor
  arguments:
    telemetryQuery: sum(rate(podparty_http_requests_count{code='4xx', direction='incoming', intra_pod!='true', local_pod_ns='${tags.namespace}', __multi__="${properties.local_pod_metric_selector__+}"}[${__rate_interval}]))
    topologyQuery: (label = "stackpack:kubernetes" and type = "service")
  description: Consumes health states from the AAD.
  function: urn:stackpack:aad-v2:shared:monitor-function:aad
  id: -6
  identifier: urn:stackpack:aad-v2:shared:monitor:aad-http-4xx-error-rate
  intervalSeconds: 60
  name: 'AAD: HTTP 4xx error rate (req/s)'
  remediationHint: It's complicated.
  status: ENABLED
  tags: []
timestamp: 2026-01-14T11:30:40.470998684Z[Etc/UTC]

Ejecutando Monitores

Ejecutar un monitor te da información sobre los estados de verificación que se producen:

sts monitor run --id <id>
appliedLimit: 100
checkStates:
  CheckStates:
    checkStates:
      - checkStateId: 91116839897294-preprod%1dev.preprod.stackstate.io-stackstate%1nightly-suse%1observability%1clickhouse%1shard0
        data: '{"displayTimeSeries":[{"name":"Metric and threshold","queries":[{"query":"sum by (cluster_name, namespace, statefulset) (increase(stackstate_clickhouse_backup_successful_uploads{kube_app_name=\"clickhouse\", cluster_name=\"preprod-dev.preprod.stackstate.io\", namespace=\"stackstate-nightly\", statefulset=\"suse-observability-clickhouse-shard0\"}[12h]))  or  sum by (cluster_name, namespace, statefulset) (stackstate_clickhouse_backup_number_backups_remote_expected{kube_app_name=\"clickhouse\", cluster_name=\"preprod-dev.preprod.stackstate.io\", namespace=\"stackstate-nightly\", statefulset=\"suse-observability-clickhouse-shard0\"}) * 0","alias":"Number of backups execution in 12h window","_type":"MonitorDisplayQuery"},{"query":"0.0","alias":"Threshold","_type":"MonitorDisplayQuery"}],"unit":"short","_type":"MonitorDisplayTimeSeries"}],"remediationHintTemplateData":{"componentUrnForUrl":"urn:kubernetes:%2Fpreprod-dev.preprod.stackstate.io:stackstate-nightly:statefulset%2Fsuse-observability-clickhouse-shard0","labels":{"cluster_name":"preprod-dev.preprod.stackstate.io","namespace":"stackstate-nightly","statefulset":"suse-observability-clickhouse-shard0"},"threshold":0.0},"_type":"MonitorSyncedCheckStateData"}'
        health: CLEAR
        name: Backup performed in the last 12 hours
        topologyElementIdentifier: urn:kubernetes:/preprod-dev.preprod.stackstate.io:stackstate-nightly:statefulset/suse-observability-clickhouse-shard0
...

Habilitando/deshabilitando Monitores

Un monitor puede ser habilitado o deshabilitado. Habilitado significa que el monitor producirá resultados, deshabilitado significa que suprimirá toda salida. Usa los siguientes comandos para habilitar/deshabilitar:

sts monitor disable --id 68172545000282
✅ Monitor 68172545000282 has been disabled

sts monitor enable --id 68172545000282
✅ Monitor 68172545000282 has been enabled

Detalles de ejecución del monitor

Las estadísticas de las ejecuciones del monitor y la latencia en el procesamiento de los estados de verificación resultantes se pueden obtener con el status comando.

sts monitor status --id 68172545000282

Monitor Health State count: 650
Monitor Status: ENABLED
Monitor last run: 2026-01-14 12:16:25.979 +0000 UTC

Monitor Stream errors:
No data to display.

Monitor health states mapped to topology:
HEALTHSTATE | COUNT
CLEAR       | 522
DEVIATING   | 0
CRITICAL    | 0
UNKNOWN     | 128

Monitor Stream metrics:
METRIC                                     | VALUE BETWEEN NOW AND 300 SECONDS AGO | VALUE BETWEEN 300 AND 600 SECONDS AGO | VALUE BETWEEN 600 AND 900 SECONDS AGO
latency (Seconds)                          | 42.345412844036574                    | 44.53073394495415                     | 46.725688073394615
messages processed (per second)            | 10.833333333333                       | 10.833333333333                       | 10.833333333333
monitor health states created (per second) |                                       |                                       |
monitor health states updated (per second) | 0.0033333333333333                    | 0.0033333333333333                    | 0.02
monitor health states deleted (per second) |                                       |                                       |

Monitor health states with identifier matching exactly 1 topology element: 650

Modificando Monitores

La forma recomendada de trabajar es almacenar monitores (y cualquier otro recurso personalizado creado en SUSE® Observability) como archivos YAML en a StackPack. Desde allí, los cambios pueden aplicarse manualmente o puede ser totalmente automatizado utilizando la CLI de SUSE Observability en un sistema CI/CD como GitHub actions o GitLab pipelines.

Crear un Monitor

Puedes crear un monitor aplicando un archivo YAML, digamos monitor.yaml. Debe tener el siguiente esquema:

nodes:
- _type: "Monitor"
  ...

Nota el punto de entrada nodes: en la primera línea. Eso no es necesario para los archivos en un stackpack, pero debe estar presente al usar el apply comando.

Usa la SUSE Observability CLI para crear o actualizar el monitor:

sts monitor apply -f monitor.yaml

Puedes verificar los resultados del monitor en la página de resumen del monitor.

El identificador se utiliza como la clave única de un monitor. Cambiar el identificador creará un nuevo monitor en lugar de actualizar el existente.

Eliminar un Monitor

Para eliminar un monitor, usa

sts monitor delete --id <id>

Editar en Vivo un Monitor

Para editar un monitor, edita el original del monitor que se aplicó y aplícalo de nuevo. O hay un sts monitor edit comando para editar el monitor configurado directamente en la instancia SUSE® Observability:

sts monitor edit --id <id>

El <id> en este comando no es el identificador, sino el número en la columna Id de la salida sts monitor list.