DevOps
DevOps
DevOps 工具链一般分:
CI → CD → 运行(Ops) → 监控 → 告警 → 反馈
| 模块 | 工具示例 |
|---|---|
| CI | GitLab CI, Jenkins |
| CD | ArgoCD, Spinnaker |
| 容器/编排 | Docker, Kubernetes |
| 日志与监控 | ELK, Prometheus, Grafana |
| 告警 | Alertmanager, ElastAlert |
| 可观测性 | ELK, OpenTelemetry |
DevOps 强调:
- 更快、更稳定上线(CI/CD)
- 更好的监控、反馈、可观测性
ELK 是日志领域的王者
- 统一收集所有服务、容器、系统的日志
- 支持关键字搜索、全文检索
- 判断某个请求在系统中发生了什么
- 找到故障原因(错误堆栈、业务日志)
- 给运维、后端、数据团队提供日志分析能力
ELK 经常被视为 DevOps 工具链的重要组成部分,ELK 属于 “监控与日志” 模块。
Prometheus 是监控和告警领域的王者
- CPU、内存、磁盘、网络等系统监控
- JVM、容器、K8s、数据库等服务状态监控
- QPS、响应时间、错误率等业务指标
- 支持强大的告警(报警到钉钉、企业微信、飞书等)
- 指标级的趋势预测(未来流量、资源耗尽时间等)
ELK vs Prometheus/Grafana 分工总览
- ELK = 日志(Log)系统
- Prometheus = 指标(Metrics)系统
- Grafana = 可视化平台(能展示多种数据源)
你需要:
✔ 查看错误堆栈
✔ 查看访问日志(nginx、springboot)
✔ 追踪一次请求从入口到异常的完整链路
✔ 检查设备日志、应用日志、业务日志
✔ 搜索 “用户 A 的所有操作记录”
→ 用 ELK。
你需要:
✔ 监控服务是否正常
✔ 监控 CPU、内存、磁盘
✔ 报警(业务 QPS > 阈值)
✔ 展示趋势(例如 JVM Heap 一周变化)
✔ 实时监控 Kubernetes、Docker
→ 用 Prometheus + Grafana。
两者不是替代关系,而是互补关系。
❤️ 两者一起使用才是业界最佳实践
大厂的标准 Observability(可观测性)体系一般是:
| 模块 | 技术 |
|---|---|
| 指标(Metrics) | Prometheus |
| 日志(Logs) | ELK |
| 链路追踪(Trace) | Jaeger / OpenTelemetry |
| 可视化 | Grafana + Kibana |
Prometheus 和 ELK 并不是竞争,而是一个负责 “预警”,一个负责 “查案”。
- Prometheus 告诉你:出了问题
- ELK 告诉你:为什么出问题