目录
环境
角色 | 主机名 | IP | 组件 |
---|---|---|---|
管理端 | repository01 | 172.16.0.154 | NodeEXporter、cAdvisor、Prometheus Server、Grafana、AlertManager |
被管理节点 | repository02 | 172.16.0.155 | NodeEXporter、cAdvisor |
被管理节点 | repository03 | 172.16.0.145 | NodeEXporter、cAdvisor |
描述
全部关闭防火墙,禁用selinux
组件功能:
Prometheus Server: 普罗米修斯的主服务器。
NodeEXporter: 负责收集Host硬件信息和操作系统信息。
cAdvisor: 负责收集Host上运行的容器信息。
Grafana: 负责展示普罗米修斯监控界面。
AlertManager:根据规则,触发之后发送报警信息到指定介质。
一、它是什么?
Prometheus是由SoundCloud开发的开源监控系统的开源版本。2016年,由Google发起的Linux基金会(Cloud Native Computing Foundation,CNCF)将Prometheus纳入其第二大开源项目。
优点:
高效:单一Prometheus可以处理数以百万的监控指标;每秒处理数十万的数据点。
易于伸缩:通过使用功能分区(sharing)+联邦集群(federation)可以对Prometheus进行扩展,形成一个逻辑集群;Prometheus提供多种语言的客户端SDK,这些SDK可以快速让应用程序纳入到Prometheus的监控当中。
良好的可视化:Prometheus除了自带有Prometheus UI,Prometheus还提供了一个独立的基于Ruby On Rails的Dashboard解决方案Promdash。另外最新的Grafana可视化工具也提供了完整的Proetheus支持,基于Prometheus提供的API还可以实现自己的监控可视化UI。
二、搭建Prometheus服务
1.repository01操作
1)部署node-EXporter
载入镜像
启动容器:
注意:这里使用了- -net=host,这样Prometheus Server可以直接与Node-EXporter通信。
docker run -d -p 9100:9100 --name exporter -v /proc:/host/proc -v /sys:/host/sys -v /:/rootfs --net=host prom/node-exporter --path.procfs /host/proc --path.sysfs /host/sys --collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)"
验证:打开浏览器验证结果。http://172.16.0.154:9100