用途:检查 Grafana SLO 的健康状态、错误预算消耗与趋势,并在需要时引导到深入调查或优化流程。核心原则是使用 gcx 命令而非直接调用 Grafana API;面向用户展示用默认格式,供智能体处理时用 -o json;时间序列数据默认以图形输出。
主要能力与用法:查询全部 SLO 时先运行 gcx slo definitions list 查看 UUID、名称、目标、窗口与状态,再用 gcx slo definitions status 获取 SLI、错误预算与健康状态表。查询特定 SLO 时运行 gcx slo definitions status <UUID> -o wide,额外显示 BURN_RATE、SLI_1H、SLI_1D。状态值包括 OK、BREACHING、NODATA、Creating、Updating、Deleting、Error;NODATA 表示记录规则未产生 Prometheus 指标,需提示用户检查目标数据源配置。
时间线:当用户询问趋势或历史数据、或存在 BREACHING 时,运行 gcx slo definitions timeline --from now-7d --to now(全部)或 gcx slo definitions timeline <UUID> --from now-7d --to now(单个),也可用 --since 7d。时间范围应结合 SLO 窗口调整,如 28d/30d 窗口用 --from now-28d --to now。注意请求窗口不等于实际历史,年轻栈或新建 SLO 可能只返回少量数据点,应报告实际观测跨度,不要声称覆盖整个窗口。
报告与路由:涉及 SLO 报告时运行 gcx slo reports status 或 gcx slo reports status <UUID>。发现 BREACHING 后建议使用 slo-investigate 深入调查;用户询问改进时建议使用 slo-optimize。
限制与错误处理:非致命错误应收集后统一报告,不中断流程。列表为空时提示无 SLO 并可用 gcx config view 检查上下文;全部 NODATA 时提示记录规则指标不可用;UUID 未找到时列出全部 SLO;时间线或报告失败仅记录并继续。认证错误时用 gcx config view 检查服务器 URL 与凭据。输出应简洁,先给状态与关键指标,避免过度格式化。