云监控
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/cloud-monitoring
技能介绍
先理清你要解决什么问题
很多团队把监控做成了“指标大盘”,却依旧回答不了三个问题:用户是否受影响、问题该由谁处理、排查要花多久。该技能的目标不是堆图表,而是围绕可观测性三支柱——metrics、logs、traces——把服务行为变成可判定的工程问题。
它具体怎么工作
- 先定义监控对象与目标:识别关键服务,定义
SLI(请求延迟、错误率、吞吐)和SLO,再把对外承诺写成SLA。 - 按架构选择工具栈:指标可用
Prometheus、CloudWatch、Datadog;可视化用Grafana或厂商 Dashboard;日志聚合用Loki、CloudWatch Logs、EFK、Splunk;链路追踪可用Jaeger、AWS X-Ray、Tempo。 - 采集与仪表盘配置:部署 scraper/exporter、自定义指标,并按服务层级组织 Dashboard,重点呈现 golden signals(延迟、流量、错误、饱和)以及
CPU/内存/磁盘/网络。 - 告警按影响设计:不仅看原始阈值,而是围绕错误预算燃烧率、持续延迟和 Pod 重启等有意义条件触发,用多窗口
burn rate平衡响应速度与误报抑制。 - 日志与追踪打通:统一 JSON 结构化日志字段,并用
trace_id关联请求链路与日志;告警可直接跳到对应 trace 与日志。 - 持续审计与迭代:定期检查告警噪音、Dashboard 使用情况与 SLO 达成率,删除不可执行告警,按基线调整阈值,并把新服务纳入体系。
适用边界与注意点
- 适合云上单体到微服务体系;是否能落地取决于你能否统一
service/env/team/version标签,以及是否已有 SLO 基线。 - 高基数标签(如
user_id、URL 原文)可能导致Prometheus内存压力,需要限制取值并用 recording rules 预聚合。 - 分布式追踪对主机时间敏感;若 NTP 不同步,可能出现乱序或负耗时。
- 故障时容易触发告警风暴,建议在
Alertmanager配置分组与抑制规则。 - 滚动发布会造成抓取缺口,需使用容忍缺失的
rate()并设置合理的for时长。 CloudWatch自定义指标过多时可能触发限流,应改用GetMetricData批量查询并缓存 Dashboard 数据。
使用场景
- 微服务上线前,需要定义 SLI/SLO,并搭建 Prometheus + Grafana 告警规则
- 线上告警频繁误报,要把阈值告警改成多窗口 burn rate,并配置 PagerDuty 路由
- 排障要跨日志和追踪,需统一 JSON 日志字段,用 trace_id 关联 AWS X-Ray
- 新服务接入监控时,要统一 service/env/team 标签,避免 Prometheus 高基数指标
适合人员
- 负责生产稳定性的 SRE,想判断哪些 golden signals 该上告警、哪些只该看大盘
- 微服务后端工程师,需要在代码中接入 OpenTelemetry SDK 并统一日志字段
- 平台负责人,要用 SLO 错误预算向客户解释可用性承诺并减少误报
- 运维开发,要在 Alertmanager 里配置分组和抑制规则,防止故障时告警风暴