使用prometheus的特性
易管理性
Prometheus核心部分只有一个单独的二进制文件,可直接在本地工作,不依赖于分布式存储
不依赖分布式存储,单服务器节点是自治的
高效
单一Prometheus可以处理数以百万的监控指标;每秒处理数十万
的数据点
易于伸缩
Prometheus提供多种语言 的客户端SDK,这些SDK可以快速让应用程序纳入到Prometheus的监控当中
通过服务发现或静态配置发现目标
良好的可视化
除了自带的可视化web界面,还有另外最新的Grafana可视化工具也提供了完整的Proetheus支持,基于 Prometheus提供的API还可以实现自己的监控可视化UI
docker搭建prometheus监控
环境:
全部关闭防火墙,禁用selinux
主机 | IP | 安装组件 |
machine | 172.16.46.111 | NodeEXporter、cAdvisor、 Prometheus Server、Grafana |
node01 | 172.16.46.112 | NodeEXporter、cAdvisor |
node02 | 172.16.46.113 | NodeEXporter、cAdvisor |
安装prometheus组件说明:
Prometheus Server: 普罗米修斯的主服务器,端口号9090 NodeEXporter: 负责收集Host硬件信息和操作系统信息,端口号9100 cAdvisor:负责收集Host上运行的容器信息,端口号占用8080 Grafana:负责展示普罗米修斯监控界面,端口号3000 altermanager:等待接收prometheus发过来的告警信息,altermanager再发送给定义的收件人
部署node-EXporter,收集硬件和系统信息
#3台主机都要安装 docker run -d -p 9100:9100
-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)($|/)"
PS:注意,为了网络的高效率,我们的网络使用的是host
验证收集效果
部署安装cAdvisor,收集节点容器信息
#3台都要安装 docker run -v /:/rootfs:ro -v /var/run:/var/run/:rw -v /sys:/sys:ro -v /var/lib/docker:/var/lib/docker:ro -p 8080:8080 --detach=true --name=cadvisor --net=host google/cadvisor