在这里插入图片描述

容器化监控系统简介
  • 监控系统在现代 DevOps 中的重要性
  • Prometheus 的作用:指标采集与告警
  • Grafana 的作用:数据可视化
  • node-exporter 的作用:主机指标暴露
环境准备
  • 确保 Docker 和 Docker Compose 已安装
  • 检查端口可用性(9090、3000、9100)
部署 node-exporter
  • 拉取 node-exporter 镜像
  • 运行 node-exporter 容器
  • 验证 node-exporter 是否正常工作
配置 Prometheus
  • 创建 Prometheus 配置文件 prometheus.yml
  • 启动 Prometheus 容器
  • 检查 Prometheus 是否成功抓取 node-exporter 数据
部署 Grafana
  • 拉取 Grafana 镜像
  • 启动 Grafana 容器
  • 访问 Grafana 并配置初始密码
数据源与仪表板配置
  • 在 Grafana 中添加 Prometheus 数据源
  • 导入 Node Exporter 仪表板(ID: 1860)
  • 检查指标可视化效果
网络与安全优化
  • 使用 Docker 自定义网络确保容器间通信
  • 考虑持久化存储(Prometheus 数据、Grafana 配置)
  • 防火墙与访问控制建议
常见问题排查
  • 容器启动失败的可能原因
  • Prometheus 无法抓取数据的解决方法
  • Grafana 仪表板无数据的调试步骤
扩展与进阶配置
  • 添加 Alertmanager 实现告警
  • 监控多个节点的配置方法
  • 自定义 Grafana 仪表板
总结
  • 部署流程回顾
  • 进一步学习资源推荐(官方文档、社区案例)

代码示例(关键步骤)

启动 node-exporter

docker run -d \
  --name=node-exporter \
  --network=monitoring \
  -p 9100:9100 \
  -v "/:/host:ro,rslave" \
  prom/node-exporter

Prometheus 配置文件

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'node-exporter'
    static_configs:
      - targets: ['node-exporter:9100']

验证服务

  • Prometheus: http://localhost:9090/targets
  • Grafana: http://localhost:3000
  • node-exporter: http://localhost:9100/metrics

更多推荐