用途
Monitoring Expert 是一个可观测性与性能方面的专家型技能,面向需要为应用建立完整监控、告警、追踪与性能测试体系的开发或运维场景。其宣称的职责是实施全面的监控、告警、追踪与性能测试系统。
核心工作流
技能文档定义了五个步骤:
- 评估(Assess):识别需要监控的内容,包括 SLI、关键路径和业务指标;
- 埋点(Instrument):为应用加入日志、指标和追踪;
- 采集(Collect):配置聚合与存储,例如 Prometheus 抓取、日志收集器、OTLP 端点,并先确认数据已到达再继续;
- 可视化(Visualize):使用 RED(Rate/Errors/Duration)或 USE(Utilization/Saturation/Errors)方法构建仪表盘;
- 告警(Alert):在关键路径上定义阈值和异常告警,并在发布前验证不会出现误报洪泛。
主要能力与示例
技能文档提供了以下几类示例:
- 结构化日志:以 Node.js 的 Pino 为例,示范使用结构化字段并包含关联 ID(如 requestId、userId、durationMs),并指出不推荐使用字符串插值且缺少关联的 console.log。
- Prometheus 指标:以 prom-client 为例,定义 Counter(http_requests_total)与 Histogram(http_request_duration_seconds,含 buckets),并示范对路由进行埋点、在 finish 事件中递增计数与结束计时,以及暴露 /metrics 抓取端点。
- OpenTelemetry 追踪:以 @opentelemetry/sdk-node 与 OTLPTraceExporter 为例,支持配置 OTLP HTTP 导出端点到 Jaeger,并示范在关键操作上手动创建 span、设置属性、记录异常与状态、最后结束 span。
- Prometheus 告警规则:给出 YAML 示例,定义 HighErrorRate 告警,基于 5 分钟窗口的 5xx 请求比率超过 0.05 且持续 2 分钟触发,并设置 severity 标签与 summary 注解。
- k6 负载测试:给出 options 中的 stages(爬升、持续负载、回落)与 thresholds(p(95)<500 毫秒、失败率<0.01),以及默认函数中发起 HTTP GET、check 状态码并 sleep 的示例。
参考指南
技能文档列出按上下文加载的参考主题,包括:结构化日志(Pino、JSON 日志)、Prometheus 指标(Counter、Histogram、Gauge)、OpenTelemetry(spans)、告警规则(Prometheus alerts)、仪表盘(RED/USE 方法、Grafana)、性能测试(负载测试、k6、Artillery、基准测试)、应用剖析(CPU/内存剖析、瓶颈)、容量规划(扩缩容、预测、预算)。
约束
必须做:使用结构化日志(JSON);包含请求 ID 以便关联;为关键路径设置告警;监控业务指标而不仅是技术指标;使用合适的指标类型(counter/gauge/histogram);实现健康检查端点。 禁止做:记录敏感数据(密码、令牌、PII);对每个错误都告警(告警疲劳);在日志中使用字符串插值(应使用结构化字段);在分布式系统中省略关联 ID。
适用场景与限制
适用场景:需要为应用搭建日志、指标、追踪、仪表盘、告警与负载测试体系时,可依据本技能的工作流和示例进行埋点与配置。 限制:技能文档以示例与约束为主,未提供所属平台、定价、安装方式或运行环境等具体信息,这些内容暂未提供;同时文档内容为英文,且引用了上游 MIT 许可的源文档。
引用文档
以下为作者声明的引用来源,保留指定版本、署名和许可。
- jeffallan/claude-skills/skills/monitoring-expert/SKILL.md — 署名:Jeffallan;许可:MIT;版本:
3bf9a24b76a7c122f1fc05e83929fbc84e1c207a。