Devops⑦
第 7 节 · Monitoring & Observability —— 监控与可观测性实战指南
📊 为什么监控与可观测性重要?
“系统跑起来不是终点,稳定运行才是。”
在 DevOps 实践中,监控(Monitoring) 和 可观测性(Observability) 让你能:
- 🧠 快速发现系统异常
- 🔍 快速定位问题根源
- 📈 持续优化性能体验
🧠 监控(Monitoring) VS 可观测性(Observability)
项目 | Monitoring | Observability |
---|---|---|
定义 | 观察系统是否健康 | 解释系统为什么出问题 |
数据类型 | 主要是指标(Metrics) | 包括指标、日志、追踪(三大支柱) |
触发方式 | 基于规则报警 | 支持探索式分析 |
目标 | 提前报警 | 快速定位问题源头 |
🔍 可观测性的三大支柱
-
Metrics(指标) 📈
- 如 CPU、内存、请求延迟、错误率
-
Logs(日志) 📄
- 系统或应用输出的详细事件记录
-
Traces(追踪) 🔗
- 分布式请求的全链路追踪(哪一环节慢)
🛠 常见工具生态
类型 | 工具 | 说明 |
---|---|---|
指标监控 | Prometheus | 时间序列数据库,自动抓取指标 |
数据可视化 | Grafana | 美观灵活的监控仪表盘 |
日志收集 | Loki / ELK | 日志聚合分析(轻量 vs 重型) |
链路追踪 | Jaeger / OpenTelemetry | 全链路追踪分布式请求 |
云服务集成 | AWS CloudWatch / X-Ray | 原生支持 AWS 服务的监控与追踪 |
🧪 实践:部署 Prometheus + Grafana + Node Exporter
📦 Node Exporter:收集本机系统指标
📦 Prometheus:抓取并保存指标数据
📦 Grafana:展示数据仪表盘
Docker Compose 示例:
version: "3" |
📦 prometheus.yml 配置示例
scrape_configs: |
💬 DevOps 场景下的可观测性策略
- 🧵 为每个服务设计合理指标(如响应时间、QPS、错误率)
- 🪵 统一日志格式,配合 Loki / ELK 汇总分析
- 🔗 引入 OpenTelemetry 实现前后端请求链追踪
- 🚨 配置告警阈值 + 多通道通知(如钉钉、Slack、邮件)
下一节预告 👉 第 8 节:云平台实战 —— AWS 上构建 DevOps 一体化工作流
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Xiaotan's Blog!
评论