这篇文章将为大家详细讲解有关Prometheus如何搭建监控,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
Prometheus(普罗米修斯)
实验环境:(各个主机,ip,所需服务)
docker01 docker02 docker03
1.10 1.20 1.30
NodeEXporter NodeEXporter NodeEXporter
cAdvisor cAdvisor cAdvisor
Prometheus Server
Grafana
全部关闭防火墙,禁用selinux.
[root@docker01 ~]# systemctl stop firewalld
[root@docker01 ~]# systemctl disable firewalld
[root@docker01 ~]# setenforce 0
setenforce: SELinux is disabled
需要部署组件:
Prometheus Server:普罗米修斯的主服务器。
NodeEXporter:负责收集Host硬件信息和操作系统信息。
cAdvisor:负责收集Host上运行的容器信息。
Grafana:负责展示普罗米修斯监控界面。
1.导入镜像
docker01:
[root@docker01 ~]# docker load < mycadvisor.tar && docker load < grafana.tar && docker load < node-exporter.tar && docker load < prometheus.tar
docker02:
[root@docker02 ~]# docker load < mycadvisor.tar && docker load < node-exporter.tar
docker03:
[root@docker03 ~]# docker load < mycadvisor.tar && docker load < node-exporter.tar
镜像拉入完成!!!
1)3个节点,全部部署node-EXporter和cAdvisor.
PS:3台都弄,都去浏览器验证
部署node-EXporter,收集硬件和系统信息
[root@docker01 ~]# 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:注意,这里使用了--net=host,这样Prometheus Server可以直接与Node-Exporter通信。
验证:打开浏览器验证结果:ip加9100端口:
//部署安装cAdvisor。收集节点容器信息。
PS:3台都弄,都去浏览器验证
[root@docker01 ~]# 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
,都去部署完成之后,浏览器访问:IP加8080端口:
2)在docker01上部署Prometheus Server服务。
在部署Prometheus之前,我们需要对它的配置文件进行修改,所以我们先运行一个容器,先将其配置文件拷贝出来。
[root@docker01 ~]# docker run -d -p 9090:9090 --name prometheus --net=host prom/prometheus
[root@docker01 ~]# docker cp prometheus:/etc/prometheus/prometheus.yml ./
[root@docker01 ~]# vim prometheus.yml
28行改为:
• - targets: ['localhost:9090','localhost:8080','localhost:9100','192.168.1.20:8080','192.168.1.20:9100','192.168.1.30:8080','192.168.1.30:9100']
每个节点的ip,端口
PS:这里制定了prometheus的监控项,包括它也回监控自己收集到的数据。
[root@docker01 ~]# docker rm -f prometheus
prometheus
[root@docker01 ~]# docker run -d -p 9090:9090 --name prometheus --net=host -v /root/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
互联网访问验证:docker01的ip加9090端口:
PS:这里能够哦查看到我们各个监控项。
挂起docker02后:
继续运行docker02后:
3)在docker01上,部署grafana服务,用来展示prometheus收集到的数据。
[root@docker01 ~]# mkdir grafana-storage
[root@docker01 ~]# chmod 777 -R grafana-storage/
[root@docker01 ~]# docker run -d -p 3000:3000 --name grafana -v /root/grafana-storage:/var/lib/grafana -e "GF_SECURITY_ADMIN_PASSWORD=123.com" grafana/grafana
浏览器访问验证:
账户:admin
密码:123.com
PS:看到这个,说明prometheus和grafana服务时正常连接的。
此时,虽然granfana收集到了数据,但怎么显示它,仍然是个问题,gafana支持自定义显示信息,不过要自定义起来非常麻烦,不过好在,granfana官方为我们提供了一些模板,来供我们使用。
granfana官网:
https://grafana.com/docs/grafana/latest/
选中一款模板,然后,我们有2中方式可以套用这个模板。
第一种方式:通过JSON文件使用模板。
下载完成之后,放到桌面,来到grafana控制台
第二种导入模板的方式:
可以直接通过模板的ID号。
模板ID:
用10619
再回到grafana控制台
意外:
自带模板:
关于“Prometheus如何搭建监控”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。