mcpField
C
cx-slos

cx-slos

github.com/coralogix云与 DevOps2152.7k 次安装今天更新
代码仓库

关于 cx-slos

cx-slos 是用于检查和管理服务级别目标的命令行技能,可对照目标评估健康状况,并通过 JSON 创建、更新或删除 SLO;Agent 模式下写操作需确认。

主要功能

  1. 01列出并检查 SLO 定义
  2. 02对照目标评估达成情况
  3. 03通过 JSON 创建和更新 SLO
  4. 04删除 SLO 并检查受影响告警

适用场景

  1. 01检查服务可靠性目标
  2. 02调查 SLO 目标未达标
  3. 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
sloTypeSLO_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