关于 cx-slos
cx-slos 是用于检查和管理服务级别目标的命令行技能,可对照目标评估健康状况,并通过 JSON 创建、更新或删除 SLO;Agent 模式下写操作需确认。
主要功能
- 01列出并检查 SLO 定义
- 02对照目标评估达成情况
- 03通过 JSON 创建和更新 SLO
- 04删除 SLO 并检查受影响告警
适用场景
- 01检查服务可靠性目标
- 02调查 SLO 目标未达标
- 03更新定义并检查受影响告警
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ coralogix/ cx-cli --skill cx-slos安装后在 Claude Code 中输入/cx-slos确认已加载。
详细介绍
SLO 管理技能
SLO(服务级别目标)定义了服务的可靠性目标, 例如“28 天内 99.9% 的请求成功”。使用此技能检查 SLO 定义、判断其健康状况并管理其生命周期。
CLI 命令
| 命令 | 用途 |
|---|---|
cx slos list | 列出所有 SLO 定义 |
cx slos get <id> | 按 ID 获取单个 SLO |
cx slos create --from-file <path> | 根据 JSON 定义创建 SLO[需要 --yes] |
cx slos update --from-file <path> | 根据 JSON 替换 SLO 定义[需要 --yes] |
cx slos delete <id> | 删除 SLO[需要 --yes] |
- 所有命令都支持
-o json以输出结构化数据,并支持-p <profile>(可重复指定)以扇出到多个配置文件。 create/update从--from-file <path>读取,或从-(默认值)读取标准输入。create、update和delete是写操作,在非交互式 / Agent 模式下需要--yes。
SLO 定义
每个 SLO 中显示的字段:
| 字段 | 含义 |
|---|---|
name | 易读的 SLO 名称 |
description | 可选描述 |
targetThresholdPercentage | 目标值,例如 99.9 |
sloType | SLO_TYPE_REQUEST(基于请求)或 SLO_TYPE_WINDOW(基于时间窗口) |
sloTimeFrame | 滚动窗口,例如 SLO_TIME_FRAME_7_DAYS、SLO_TIME_FRAME_28_DAYS |
productType | 计算 SLO 所依据的支柱,例如 SLO_PRODUCT_TYPE_APM |
监控 SLO 健康状况
# All SLOs with their target and window
cx slos list -o json | jq '[.[] | {name, targetThresholdPercentage, sloType, sloTimeFrame}]'
# Inspect a single SLO in full
cx slos get <slo-id> -o json
将当前达成率与 targetThresholdPercentage 对比,以判断 SLO 是否健康,或错误预算是否正在消耗。基于请求的 SLO 衡量良好事件的占比;基于时间窗口的 SLO 衡量良好时间窗口的占比。完成初步排查后,转到 cx-telemetry-querying 技能,从日志、跨度或指标中查找根本原因。
创建和更新 SLO
编写 SLO 最稳妥的方式是往返处理现有 SLO——根据 get 返回的确切字段结构创建模板,而不是手动编写 JSON:
# Template from an existing SLO, edit, then create
cx slos get <existing-slo-id> -o json > slo.json
# Edit slo.json: change name, targetThresholdPercentage, sloType, sloTimeFrame, etc.
cx slos create --from-file slo.json --yes
# Replace an existing definition
cx slos update --from-file slo.json --yes
update 和 delete 会报告受影响的告警 ID(effectedSloAlertIds),因此请检查该列表——更改或移除 SLO 可能会禁用关联的告警。
关键原则
- 检查达成率与目标值的差距,而不只是检查是否存在——达成率为 99.91%、目标值为 99.9% 的 SLO 几乎没有剩余错误预算,在触及阈值前需要关注。
- 往返处理定义——根据
cx slos get的结果创建create/update负载模板,而不是手动编写 JSON,以保持 API 所要求的确切字段结构。 - 在 Agent / 非交互式模式下,
create/update/delete需要--yes。 - 关注受影响的告警——
update/delete会返回effectedSloAlertIds;删除 SLO 可能会使其告警静默。 - 使用
-p <profile>(可重复指定)扇出到多个配置文件,以比较不同环境中的 SLO。
相关技能
cx-alerts— 当 SLO 的错误预算消耗时触发的告警定义。cx-telemetry-querying— 调查 SLO 违约背后的日志、跨度和指标。cx-cases— 排查针对服务触发的、归组告警事件的案例。
评论
支持 Markdown