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 |
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. |
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.