SuperAPI AI 工具集

observability-monitoring

部署与运维

查看项目

更新于 10-16 05:28

技能介绍

用途

该技能适用于设计或评审 Web 应用、API、SaaS 平台、移动后端和 AI 系统的可观测性方案,涵盖日志、指标、追踪、告警、SLO、仪表盘、审计事件以及生产遥测。其目标是让生产环境中的故障可被理解、可被行动、可被界定范围,而不仅仅是做数据分析。

当任务需要可复用的判断、领域约束或经过验证的工作流,而非临时建议时,适合使用本技能。

不适用场景

  • 任务与可观测性监控无关,或更适合由更具体的配套技能处理。
  • 请求只需要一个简单答案,本技能的约束或参考材料没有实质帮助。

所需输入

  • 收集相关项目背景、约束条件和要解决的具体问题;仅在需要时加载参考文件。
  • 确认期望的交付物:设计、代码、评审、迁移计划、审计或文档。

工作流

  1. 先阅读 SKILL.md,然后只加载任务所需的深层参考文件。
  2. 应用本技能中有序的指导、检查清单和决策规则,而不是挑选孤立的片段。
  3. 产出交付物时,在重要处明确假设、风险和后续工作。

可观测性工作流

1. 识别关键流程

对每个关键流程定义:

  • 触发条件
  • 预期成功结果
  • 已知失败模式
  • 降级时的业务影响
  • 失败时操作员的行动

优先对影响最大的流程进行埋点。

2. 按问题定义遥测

对每个重要信号,询问:

  • 这个信号将回答什么问题?
  • 谁需要这个答案?
  • 他们需要多快看到?

使用以下映射:

  • 日志用于详细的取证上下文
  • 指标用于趋势、速率、饱和度和告警
  • 追踪用于多跳延迟和依赖诊断
  • 审计事件用于重要业务或安全操作
  • 性能剖析用于 CPU、内存、锁或成本行为重要时

3. 设计关联

每个请求、任务和工作流都应具备:

  • 请求或追踪 ID
  • 操作者或服务身份
  • 适用时的租户或归属上下文
  • 环境和版本元数据
  • 发布标记或部署版本
  • 重要下游调用的依赖标识

没有关联,遥测就会变成噪音。

4. 设计高上下文事件

  • 优先使用带有有用维度的结构化事件,而非稀疏文本字符串。
  • 排除个人敏感或机密字段,但不要剥离调试所需的上下文。
  • 谨慎处理基数。高基数维度在能回答真实调试问题时可能很有价值。
  • 为长时间运行的任务和工作流发出状态转换,以便操作员重建部分失败。

5. 定义 SLO 和告警

  • 将 SLO 用于面向用户的可靠性,而不是每个内部指标。
  • 定义:成功指标、时间窗口、目标阈值、错误预算影响。
  • 告警应仅在需要立即行动时触发。

6. 构建用于诊断的仪表盘

仪表盘应回答:

  • 什么坏了?
  • 谁受影响?
  • 瓶颈在哪里?
  • 最近有什么变化?
  • 操作员下一步应该做什么?

不要创建无法指导行动的虚荣仪表盘。

遥测标准

日志

  • 使用结构化日志。
  • 包含 ID、操作者上下文、租户上下文、路由或任务名称以及结果。
  • 记录失败时提供足够上下文以便调试,但绝不泄露机密或敏感载荷。
  • 将业务审计日志与应用诊断日志分开。

指标

跟踪:

  • 请求速率
  • 错误率
  • 延迟百分位数
  • 资源饱和度
  • 队列深度和滞后
  • 重试和回退计数
  • 相关时的缓存命中率
  • 相关时的成本或 token 使用量
  • 池、工作线程、速率限制或线程使用的饱和度信号

优先使用百分位数和速率,而非平均值。

追踪

追踪:

  • 跨服务或进程边界的请求
  • 昂贵的后台工作流
  • 外部依赖
  • 具有多个阶段的 AI 或检索管道
  • 平台支持时的部署标记和重要异步转换

审计事件

以下情况需要审计事件:

  • 认证和角色变更
  • 影响财务或账本的操作
  • 权益变更
  • 导出、删除和审批
  • 具有外部或特权副作用的 AI 操作

AI 与成本感知遥测

对于 AI 系统,捕获:

  • 模型、提示版本和工具路径
  • 检索阶段和来源数量
  • token、延迟和成本预算
  • 可用时的评估结果或质量检查
  • 回退、拒绝和验证失败

告警设计规则

  • 对需要立即人工行动的症状进行寻呼。
  • 对可以等待的趋势或退化创建工单。
  • 其他所有内容放入仪表盘。
  • 避免没有运行手册路径的告警。
  • 包含环境、服务、版本、影响和可能的初步检查。

参见 references/alert-design.md。

交付物

对于重要系统,产出:

  • 关键流程的遥测映射
  • SLO 定义
  • 带严重性和负责人的告警列表
  • 仪表盘大纲
  • 审计事件列表
  • 追踪和关联 ID 策略
  • 基数和敏感数据防护栏

评审检查清单

  • 关键流程有明确的遥测。
  • ID 和租户上下文在日志、指标和追踪之间关联。
  • 事件包含足够上下文以便调试,且不泄露不安全数据。
  • 告警映射到操作员行动,而不仅仅是好奇心。
  • SLO 反映用户影响,而非内部实现琐事。
  • 为重要操作定义了审计事件。
  • 敏感数据从遥测中排除或脱敏。

证据产出

类别 产物 格式 示例
可运维性 SLO 记录 按 skill-composition-standards/references/slo-template.md 的 Markdown 文档 docs/slo/checkout-service.md
可运维性 可观测性接线说明 列出已接线的日志、指标、追踪和仪表盘的 Markdown 文档 docs/observability/checkout-wiring.md
可运维性 告警目录 列出告警名称、阈值和运行手册链接的 Markdown 文档 docs/observability/checkout-alerts.md

参考文件

阅读核心工作流后,使用 references/ 目录获取深层细节。

  • 当任务是平台建设、SigNoz/OpenTelemetry 栈设计、收集器拓扑、存储、保留或仪表盘基础设施时,加载 references/observability-platform.md。
  • references/alert-design.md:告警严重性和路由规则。
  • references/diagnosis-first-observability.md:事件设计、基数、发布标记和 AI 遥测。
  • references/slo-template.md:SLO 模板和服务问题。

加载顺序

  1. 加载 world-class-engineering。
  2. 在最终确定架构、API、任务或发布设计之前加载本技能。
  3. 与 deployment-release-engineering 配合使用,以实现发布和事件可见性。

质量标准和反模式

质量标准:

  • 保持输出面向执行、简洁,并与仓库的基线工程标准一致。
  • 除非技能明确要求更强的标准,否则保持与现有项目约定兼容。
  • 优先使用确定性、可评审的步骤,而非模糊建议或特定工具的魔法。

反模式:

  • 将示例视为复制粘贴的真理,而不检查适用性、约束或失败模式。
  • 默认加载每个参考文件,而不是使用渐进式披露。

输出

  • 适合任务的具体结果:实施指导、评审发现、架构决策、模板或生成的产物。
  • 当任务无法仅从可用上下文完成时,明确假设、权衡或未解决的差距。
  • 在能实质改善执行时,提供使用的参考、配套技能或后续行动。