Usando a CLI para monitores
Visão Geral
Você pode usar a SUSE® Observability CLI para inspecionar, executar e 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
Você pode usar vários comandos da SUSE® Observability CLI para depurar um monitor.
Listando Monitores
O comando sts monitor pode listar todos os 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 | | |
Descrevendo Monitores
Você pode obter a definição de um monitor existente usando o comando describe:
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]
Executando Monitores
Executar um monitor fornece informações sobre os estados de verificação que são produzidos:
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/desabilitando Monitores
Um monitor pode ser habilitado ou desabilitado. Habilitado significa que o monitor produzirá resultados, desabilitado significa que suprimirá toda a saída. Use os seguintes comandos para habilitar/desabilitar:
sts monitor disable --id 68172545000282
✅ Monitor 68172545000282 has been disabled
sts monitor enable --id 68172545000282
✅ Monitor 68172545000282 has been enabled
Detalhes da execução do monitor
Estatísticas das execuções do monitor e a latência no processamento dos estados de verificação resultantes podem ser obtidas com o comando status.
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
|
A maneira recomendada de trabalhar é armazenar monitores (e quaisquer outros recursos personalizados criados em SUSE® Observability) como arquivos YAML em a StackPack. A partir daí, as alterações podem ser aplicadas manualmente ou podem ser totalmente automatizadas usando o SUSE Observability CLI em um sistema CI/CD, como GitHub Actions ou GitLab Pipelines. |
Criar um Monitor
Você pode criar um monitor aplicando um arquivo YAML, digamos monitor.yaml. Deve ter o seguinte esboço:
nodes:
- _type: "Monitor"
...
|
Observe o ponto de entrada |
Use a SUSE Observability CLI para criar ou atualizar o monitor:
sts monitor apply -f monitor.yaml
Você pode verificar os resultados do monitor na página de visão geral do monitor.
|
O identificador é usado como a chave única de um monitor. Alterar o identificador criará um novo monitor em vez de atualizar o existente. |
Edição ao Vivo de um Monitor
Para editar um monitor, edite o original do monitor que foi aplicado e aplique novamente. Ou há um comando sts monitor edit para editar o monitor configurado na instância SUSE® Observability diretamente:
sts monitor edit --id <id>
O <id> neste comando não é o identificador, mas o número na coluna Id da saída sts monitor list.