mcpField
O
observability-designer

observability-designer

github.com/alirezarezvani云与 DevOps28.9k678 次安装2 天前更新
代码仓库

关于 observability-designer

面向工程和 SRE 团队的生产环境可观测性设计技能。脚本可生成 Grafana 仪表板规格并分析告警配置,内容涵盖指标、日志、追踪和 SLO。

主要功能

  1. 01生成 Grafana 仪表板规格
  2. 02分析告警噪声与重复项
  3. 03发现告警覆盖缺口
  4. 04提供指标、日志和追踪指引
  5. 05搭建 SLI/SLO 框架初稿

适用场景

  1. 01创建服务仪表板规格
  2. 02检查告警规则中的噪声
  3. 03查找监控覆盖缺口
  4. 04起草 SLI/SLO 框架

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alirezarezvani/claude-skills --skill observability-designer

安装后在 Claude Code 中输入/observability-designer确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
assets/
sample_alerts.json
sample_service_api.json
sample_service_web.json
expected_outputs/
sample_dashboard.json
sample_slo_framework.json
references/
alert_design_patterns.md
dashboard_best_practices.md
slo_cookbook.md
scripts/
alert_optimizer.py
dashboard_generator.py
slo_designer.py

详细介绍

Observability Designer (POWERFUL)

Category: Engineering
Tier: POWERFUL
Description: 为生产系统设计全面的可观测性策略,包括 SLI/SLO 框架、告警优化和仪表盘生成。

Overview

Observability Designer 围绕三大支柱(指标、日志、链路追踪)创建可直接用于生产环境的仪表盘、告警配置和监控策略。

何时不使用 → slo-architect。 涉及 SLO/SLI 设计、错误预算计算、多窗口燃烧率告警阈值以及 SLO 评审关卡的工作,请转交 slo-architect,它是该部分的权威 Skill。本 Skill 的 slo_designer.py 仅生成快速脚手架。本 Skill 的职责范围是:仪表盘(dashboard_generator.py)和告警噪音降低(alert_optimizer.py)。

Quick Start

# Dashboard spec (Grafana JSON + docs) for a service
python3 scripts/dashboard_generator.py --service-type api --name payments --criticality critical --role sre --format grafana -o dashboard.json --doc-output dashboard.md

# Analyze an existing alert config for noise, duplicates, and coverage gaps
python3 scripts/alert_optimizer.py --input alerts.json --analyze-only --report alert_report.json
# ...then emit the optimized config once the report is reviewed:
python3 scripts/alert_optimizer.py --input alerts.json --output alerts_optimized.json

# Quick SLO scaffold (hand off to slo-architect for the real error-budget work)
python3 scripts/slo_designer.py --service-type api --criticality high --user-facing true --service-name payments -o slo_scaffold.json

验证循环: 部署优化后的告警后,在一个值班轮次内跟踪报告中的噪音指标;如果可操作告警比例没有改善,请针对线上配置重新运行 --analyze-only 并迭代。在关闭任务之前,将生成的仪表盘导入 Grafana,并确认所有黄金信号面板都能正常渲染实时数据。

Core Competencies

SLI/SLO/SLA 框架设计
  • 服务等级指标(SLI): 定义能够反映服务健康状况的可度量信号
  • 服务等级目标(SLO): 基于用户体验设定可靠性目标
  • 服务等级协议(SLA): 建立面向客户的承诺及相应后果
  • 错误预算管理: 计算并跟踪错误预算消耗情况
  • 燃烧率告警: 多窗口燃烧率告警,主动保护 SLO
可观测性三大支柱
指标
  • 黄金信号: 延迟、流量、错误和饱和度监控
  • RED 方法: 面向请求驱动型服务的速率、错误和耗时
  • USE 方法: 面向资源监控的使用率、饱和度和错误
  • 业务指标: 收入、用户参与度和功能采用情况跟踪
  • 基础设施指标: CPU、内存、磁盘、网络以及自定义资源指标
日志
  • 结构化日志: 基于 JSON 的日志格式,字段保持一致
  • 日志聚合: 集中式日志收集与索引策略
  • 日志级别: 合理使用 DEBUG、INFO、WARN、ERROR、FATAL 级别
  • 关联 ID: 在分布式系统中追踪请求
  • 日志采样: 为高吞吐系统进行数据量管理
链路追踪
  • 分布式追踪: 端到端请求流可视化
  • Span 设计: 有意义的 Span 边界与元数据
  • 追踪采样: 兼顾性能与成本的智能采样策略
  • 服务拓扑图: 通过追踪数据自动发现依赖关系
  • 根因分析: 基于追踪的排障工作流
仪表盘设计原则
信息架构
  • 层级结构: 总览 → 服务 → 组件 → 实例的逐级下钻路径
  • 黄金比例: 80% 运营指标,20% 探索性指标
  • 认知负荷: 每个仪表盘屏幕最多 7±2 个面板
  • 用户旅程: 基于角色的仪表盘画像(SRE、开发者、管理层)
可视化最佳实践
  • 图表选择: 趋势用时间序列图,分布用热力图,状态用仪表盘
  • 色彩理论: 红色表示严重,琥珀色表示警告,绿色表示健康状态
  • 参考线: SLO 目标、容量阈值和历史基线
  • 时间范围: 默认使用有意义的时间窗口(事件排查用 4 小时,趋势分析用 7 天)
面板设计
  • 指标查询: 使用合理聚合的高效 Prometheus/InfluxDB 查询
  • 告警集成: 在相关面板上显示可视化的告警状态指示器
  • 交互元素: 模板变量、下钻链接和注释叠加层
  • 性能: 通过查询优化实现亚秒级渲染
告警设计与优化
告警分级
  • 严重级别:
    • Critical: 服务中断、SLO 消耗速率过高
    • Warning: 接近阈值、非面向用户的问题
    • Info: 部署通知、容量规划告警
  • 可操作性: 每条告警都必须有明确的响应动作
  • 告警路由: 根据严重级别和团队归属制定升级策略
防止告警疲劳
  • 信号与噪声: 优先高精确率(少误报),而非高召回率
  • 滞后机制: 触发与恢复告警使用不同的阈值
  • 抑制: 在已知故障期间抑制依赖告警
  • 分组: 将相关告警合并为单条通知
告警规则设计
  • 阈值选择: 使用统计方法确定阈值
  • 窗口函数: 合理的平均窗口和百分位计算
  • 告警生命周期: 明确的触发条件和自动恢复条件
  • 测试: 基于历史数据验证告警规则
运行手册生成与事件响应
运行手册结构
  • 告警上下文: 告警的含义及触发原因
  • 影响评估: 面向用户与内部影响的评估
  • 排查步骤: 按顺序排列的故障排查流程,并附带时间估计
  • 处理动作: 常见修复方法与升级流程
  • 事后跟进: 后续任务与预防措施
事件检测模式
  • 异常检测: 使用统计方法检测异常模式
  • 复合告警: 针对复杂故障模式的多信号告警
  • 预测性告警: 基于容量与趋势的前瞻性告警
  • 金丝雀监控: 通过渐进式部署监控实现早期发现
黄金信号框架
延迟监控
  • 请求延迟: 跟踪 P50、P95、P99 响应时间
  • 队列延迟: 在处理队列中等待的时间
  • 网络延迟: 服务间通信延迟
  • 数据库延迟: 查询执行与连接池指标
流量监控
  • 请求速率: 每秒请求数及突发检测
  • 带宽使用: 网络吞吐量与容量利用率
  • 用户会话: 活跃用户追踪与会话时长
  • 功能使用: API 端点与功能采用率指标
错误监控
  • 错误率: 跟踪 4xx 与 5xx HTTP 响应码
  • 错误预算: 基于 SLO 的错误率目标与消耗情况
  • 错误分布: 错误类型分类与趋势分析
  • 静默失败: 检测没有 HTTP 错误的处理失败
饱和度监控
  • 资源利用率: CPU、内存、磁盘和网络使用情况
  • 队列深度: 处理队列长度与等待时间
  • 连接池: 数据库与服务连接的饱和情况
  • 速率限制: API 限流与配额耗尽追踪
分布式追踪策略
追踪架构
  • 采样策略: 头部采样、尾部采样与自适应采样
  • 追踪传播: 跨服务边界的上下文传播
  • Span 关联: 父子关系建模
  • 追踪存储: 保留策略与存储优化
服务埋点
  • 自动埋点: 基于框架自动生成追踪
  • 手动埋点: 为业务逻辑创建自定义 Span
  • Baggage 处理: 横切关注点的传播
  • 性能影响: 埋点开销的测量与优化
日志聚合模式
采集架构
  • Agent 部署: 日志传输 Agent 策略(推送与拉取)
  • 日志路由: 基于主题的路由与过滤
  • 解析策略: 结构化与非结构化日志处理
  • Schema 演进: 日志格式版本管理与迁移
存储与索引
  • 索引设计: 针对常见查询模式优化字段索引
  • 保留策略: 基于时间和数据量的日志保留
  • 压缩: 日志数据压缩与归档策略
  • 搜索性能: 查询优化与结果缓存
可观测性成本优化
数据管理
  • 指标保留: 根据指标重要性实施分层保留
  • 日志采样: 通过智能采样降低摄取成本
  • 链路追踪采样: 具有成本效益的链路追踪采集策略
  • 数据归档: 为历史可观测性数据提供冷存储
资源优化
  • 查询效率: 优化指标与日志查询
  • 存储成本: 为不同类型的数据选择合适的存储层级
  • 摄取速率限制: 控制数据摄取量以管理成本
  • 基数管理: 高基数指标的检测与缓解

脚本概览

本技能包含三个用于全面可观测性设计的 Python 脚本:

1. SLO 设计器(slo_designer.py)

根据服务特征生成完整的 SLI/SLO 框架:

  • 输入: 服务描述 JSON(类型、关键程度、依赖关系)
  • 输出: SLI 定义、SLO 目标、错误预算、燃烧速率告警、SLA 建议
  • 功能: 多窗口燃烧速率计算、错误预算策略、告警规则生成
2. 告警优化器(alert_optimizer.py)

分析并优化现有告警配置:

  • 输入: 包含规则、阈值和路由的告警配置 JSON
  • 输出: 优化报告与改进后的告警配置
  • 功能: 噪声检测、覆盖缺口识别、重复项识别、阈值优化
3. 仪表盘生成器(dashboard_generator.py)

创建全面的仪表盘规格:

  • 输入: 服务/系统描述 JSON
  • 输出: 兼容 Grafana 的仪表盘 JSON 与文档
  • 功能: 黄金信号覆盖、RED/USE 方法、下钻路径、基于角色的视图

集成模式

监控栈集成
  • Prometheus: 指标采集与告警规则生成
  • Grafana: 仪表盘创建与可视化配置
  • Elasticsearch/Kibana: 日志分析与仪表盘集成
  • Jaeger/Zipkin: 分布式链路追踪配置与分析
CI/CD 集成
  • 流水线监控: 构建、测试与部署的可观测性
  • 部署关联: 发布影响追踪与回滚触发
  • 功能开关监控: A/B 测试与功能灰度发布的可观测性
  • 性能回归: 在流水线中自动化性能监控
事件管理集成
  • PagerDuty/VictorOps: 告警路由与升级策略
  • Slack/Teams: 通知与协作集成
  • JIRA/ServiceNow: 事件跟踪与解决工作流
  • 事后复盘: 自动化事件分析与改进跟踪

高级模式

多云可观测性
  • 跨云指标: 统一 AWS、GCP、Azure 的指标
  • 网络可观测性: 跨云连接监控
  • 成本归因: 云资源成本追踪与优化
  • 合规监控: 安全与合规状态追踪
微服务可观测性
  • 服务网格集成: Istio/Linkerd 可观测性配置
  • API 网关监控: 请求路由与速率限制的可观测性
  • 容器编排: Kubernetes 集群与工作负载监控
  • 服务发现: 动态服务监控与健康检查
机器学习可观测性
  • 模型性能: 准确率、漂移与偏差监控
  • 特征存储监控: 特征质量与新鲜度追踪
  • 流水线可观测性: ML 流水线执行与性能监控
  • A/B 测试分析: 统计显著性与业务影响衡量

最佳实践

组织协同
  • SLO 设定: 产品与工程团队协作制定目标
  • 告警归属: 明确升级路径与团队职责
  • 仪表板治理: 集中管理仪表板并制定相关标准
  • 培训计划: 团队学习可观测性工具与实践
技术卓越
  • 基础设施即代码: 对可观测性配置进行版本控制
  • 测试策略: 告警规则测试与仪表板验证
  • 性能监控: 跟踪可观测性系统自身的性能
  • 安全考量: 可观测性中的访问控制与数据隐私
持续改进
  • 指标复盘: 定期评估 SLI/SLO 的有效性
  • 告警调优: 持续优化告警阈值与路由规则
  • 仪表板演进: 基于用户反馈改进仪表板
  • 工具评估: 定期评估可观测性工具的有效性

评论

支持 Markdown