自动化与脚本
用 cx cases CLI 分诊和管理…
适用于通过 `cx cases` CLI 对 Coralogix Cases 进行分诊、生命周期推进、优先级调整和批量操作。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
用 cx cases CLI 分诊和管理特定
解决思路
- 用 `cx cases get <id>` 获取单个 case;检查返回中的 `groupings`、`labels`、`impactedEntities`、`kpiBreaches`、`aiSummary`,以及 `priorityDetails.system`(计算优先级)和 `priorityDetails.override`(用户覆盖)。
- 用 `cx cases update <id> [--title] [--resolution-reason]` 更新可变字段。
- 用 `cx cases comment <id> --text "<text>"` 向 case 时间线添加评论。
- 用 `cx cases assign <id> --user <email>` 分配 case(email 或 raw user ID);用 `cx cases unassign <id>` 移除 assignee。
- 用 `cx cases acknowledge <id>` 确认 case(表示你正在处理它,并停止重复通知);用 `cx cases unacknowledge <id>` 移除确认。
- 用 `cx cases resolve <id> --reason <text>` 解决 case(不可逆,见下方细节)。
- 用 `cx cases close <id>` 关闭 case(终态)。
- 用 `cx cases set-priority <id> --priority <P1..P5>` 覆盖计算优先级;用 `cx cases clear-priority <id>` 移除优先级覆盖。
- 用 `cx cases events list <case-id>` 查看事件时间线(状态变更、评论、分配);用 `cx cases events get <event-id>` 查看单个事件,例如展开评论线程。
- 用 `cx cases notifications <case-id> [<case-id> ...]` 查看通知投递(connector、status、time)。
- 按生命周期驱动 case:`PENDING_ACTIVATION` → `ACTIVE`(系统驱动激活,用户不可控)。
- `ACTIVE` → `ACKNOWLEDGED`、`RESOLVED`、`CLOSED`;ack 可选;对于误报,从 `ACTIVE` 直接 `close`(跳过 `resolve`)。
- `ACKNOWLEDGED` → `ACTIVE`、`RESOLVED`、`CLOSED`;唯一“回退”转换是用 `unacknowledge` 返回 `ACTIVE`。
- `RESOLVED` → 只能到 `CLOSED`;不可逆,不能重新打开到 `ACTIVE`/`ACKNOWLEDGED`。
- `CLOSED` → 无可用转换;终态。
- 分类为 `AVAILABILITY` 或 `SECURITY`;优先级为 `P1`(最高)→ `P5`。
- 分诊第 1 步检查:`cx cases get <id>`;payload 包括 `groupings`、`labels`、`impactedEntities`、`kpiBreaches`、`aiSummary` 以及 `priorityDetails.system` 和 `priorityDetails.override`。
- 分诊第 2 步调查:在行动前查询该 alert 的 DataPrime / PromQL 底层遥测以找根因;可选通过 `cx olly` 导出调查,或拉取 case 的 `impactedEntities` / `groupings` 确认影响;参见 `cx-telemetry-querying` 技能。
- 分诊第 3 步认领:执行 `cx cases assign <id> --user you@example.com`,然后执行 `cx cases acknowledge <id>`。
- 分诊第 4 步记录发现:用 `cx cases comment <id> --text "<note>"` 在时间线上留下调查笔记(根因、链接、下一步);评论会作为 `comment` 事件出现在 `cx cases events list`。
- 分诊第 5 步解决或关闭:按下方解决/关闭规则执行。
- 分诊第 6 步重新设定优先级:如果影响与计算值不同,用 `cx cases set-priority <id> --priority P1` 或 `clear-priority`;仅在 case 仍打开时可行,case 为 `RESOLVED` 或 `CLOSED` 后不能覆盖优先级。
- 解决不可逆(`RESOLVED` case 只能移动到 `CLOSED`),因此 CLI 要求提供 reason 和确认:传 `--reason "<text>"`,即一行 postmortem(根因、修复内容、跟进),队友可在时间线看到;仅在 reason 确实不适用时用 `--no-reason`。
- 在 agent / 非交互模式下,解决时还要传 `--yes`;否则命令会拒绝,必须交给用户交互执行。
- 如果不确定,保持 `ACKNOWLEDGED`(可通过 `unacknowledge` 逆转)直到有把握;对于非 resolution 编辑(title、事后 postmortem 链接),用 `cx cases update`。
- 没有 bulk endpoints;要对多个 case 操作,把 ID 通过循环管道处理,例如 `... | jq -r '.[].id' | xargs -I {} cx cases acknowledge {}`。
- 在 `assign --user` 和所有输出中都使用 email,绝不用 user ID。
- `resolve` 不可逆,`close` 终态;解决前确认;误报直接从 `ACTIVE` `close`。
- 除非 `--no-reason` 确实适用,否则总是提供 resolution reason。
- 任何需要 priority/status/category 的地方都接受 `P1` 风格简写。
- 用 `-p <profile>`(可重复)做多 profile fan-out,用于跨环境分诊。
- 链接到具体 case:构建 `<base>/cases?id=<case_id>`;`<base>` 取本会话中任意 `cx cases` 命令打印的 `View in Coralogix: <base>/...` 行里的 console URL,绝不要自己伪造 `<base>`。
- 参考 `references/case-analytics.md` 做 case analytics。
- 参考 `references/single-case.md` 做单 case 调查。
- 相关技能:`cx-alerts` 对应分组进 case 的事件背后的 alert 定义;`cx-slos` 对应驱动可靠性 case 的 SLO 定义;`cx-telemetry-querying` 用于从 case 的 impacted entities 转向 logs/spans/metrics。
适用边界 · 注意事项
- 没有 Coralogix 账号、未安装/登录 `cx` CLI,或目标不是 Coralogix Cases 时不适用。
- 不要期望有 bulk endpoint 来一次性操作大量 case;本技能只能通过循环逐条执行。
- 不要在 case 已 `RESOLVED` 或 `CLOSED` 后尝试覆盖优先级或重新打开;`resolve` 不可逆,`close` 终态。