使用 CLI 操作监视器
概述
您可以使用 SUSE® Observability CLI 来检查、运行和修改监视器:
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.
调试监视器
您可以使用各种 SUSE® Observability CLI 命令来调试监视器。
列出监视器
sts monitor 命令可以列出所有监视器:
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 | | |
描述监视器
您可以使用 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]
运行监视器
运行监视器可以让您了解生成的检查状态:
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
...
启用/禁用监视器
监视器可以被启用或禁用。启用意味着监视器将产生结果,禁用意味着它将抑制所有输出。使用以下命令来启用/禁用:
sts monitor disable --id 68172545000282
✅ Monitor 68172545000282 has been disabled
sts monitor enable --id 68172545000282
✅ Monitor 68172545000282 has been enabled
监视器执行详细信息
您可以通过 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
修改监视器
|
推荐的工作方式是将监视器(以及在 SUSE® Observability 中创建的任何其他自定义资源)作为 YAML 文件存储在 a StackPack 中。从那里,可以手动应用更改,或者通过在 CI/CD 系统中使用 SUSE Observability CLI 完全自动化,例如 GitHub Actions 或 GitLab Pipelines。 |
创建监视器
您可以通过应用 YAML 文件来创建监视器,例如 monitor.yaml。 它必须具有如下结构:
nodes:
- _type: "Monitor"
...
|
请注意第一行的入口点 |
使用 SUSE Observability CLI 创建或更新监视器:
sts monitor apply -f monitor.yaml
您可以在监视器概览页面上 验证监视器的结果。
|
标识符用作监视器的唯一键。更改标识符将创建一个新的监视器,而不是更新现有的监视器。 |