用途
该技能(prometheus-grafana)用于基于 AI 的可观测性运维,围绕 Prometheus 指标与 Grafana 仪表盘提供专家能力,帮助构建和维护可观测性基础设施。
主要能力
- 编写与优化 PromQL 查询。资料示例包括:请求速率
rate(http_requests_total{job="api"}[5m]);错误率百分比(按状态码 5xx 汇总相除再乘 100);P99 延迟(使用histogram_quantile(0.99, ...));可用性 SLI(30 天窗口非 5xx 占比乘 100);资源饱和度(容器 CPU 使用率与限制的比值)。 - 创建记录规则(recording rules),用于性能优化。示例包含
api_metrics组(interval 30s)中的job:http_requests:rate5m、job:http_errors:rate5m、job:http_error_ratio:rate5m,以及slo_metrics组(interval 1m)中的slo:availability:ratio_30d。 - 创建告警规则。示例包含
HighErrorRate(错误率大于 0.05,for 5m,severity critical,带 summary、description、runbook_url 注解)、ServiceDown(up{job="api"} == 0,for 1m)、HighLatencyP99(P99 大于 2,for 10m,severity warning)。 - 生成 Grafana 仪表盘 JSON。示例包含仪表盘标题、uid、tags、timezone、refresh、时间范围,以及 timeseries 与 stat 类型面板、gridPos、targets 表达式、legendFormat、单位与阈值配置。
- 抓取配置调试与生成。示例为 Kubernetes pod 角色发现与 relabel_configs(基于注解 keep、替换 metrics path、拼接
__address__)。 - 指标基数分析。示例查询包括按指标名统计 topk、标签值计数、以及使用
prometheus_tsdb_head_series / prometheus_tsdb_head_chunks观察内存占用。 - 解读指标模式与异常。
使用方式
执行操作时提供结构化输出,示例字段包括 operation、status、dashboard(uid、url)、validation(queries、panels、warnings)、artifacts。该技能可集成 mcp-grafana(Grafana 官方 MCP 服务器)与 loki-mcp(Loki 日志集成)。资料还列出可结合的流程:monitoring-setup.js(初始 Prometheus/Grafana 搭建)、slo-sli-tracking.js(SLO/SLI 仪表盘创建)、error-budget-management.js(错误预算仪表盘)。
前置条件
- 可访问 Prometheus 服务器
- 具备 API 访问权限的 Grafana 实例
- 可选:Alertmanager 用于告警
- 可选:Thanos/Cortex 用于长期存储
最佳实践(资料列出)
PromQL:使用记录规则预计算昂贵查询;限制基数,避免无界标签;使用与抓取间隔匹配的范围;图表优先用 rate() 而非 increase()。 告警:多窗口告警(结合短窗口与长窗口);注解中包含清晰的 runbook 链接;设置与业务影响匹配的严重级别;对症状而非原因告警,避免告警疲劳。 仪表盘:USE 方法(Utilization、Saturation、Errors);RED 方法(Rate、Errors、Duration);布局保持一致;使用变量模板实现过滤。
错误处理(资料列出)
- No data:指标未被抓取,检查抓取配置与目标。
- Many-to-many matching:连接有歧义,使用 on() 或 ignoring()。
- Query timeout:查询过于复杂,使用记录规则。
- Cardinality explosion:存在无界标签,添加标签约束。
限制与约束
- 应用前须校验 PromQL 语法。
- 告警应先在非生产环境测试。
- 需考虑新增指标的基数影响。
- 使用合适的保留(retention)设置。
暂未提供的信息
资料未提供收费、价格、平台支持范围、性能效果指标及具体安装步骤说明。