Docker------prometheus(普罗⽶修斯)之部署组件及模板
(1)
希腊神话中,普罗⽶修斯是最具智慧的神明之⼀,是泰坦巨神后代,其名字意思为"先见之明",那么以该名字命名的监控系统究竟怎么样呢?今天⾍⾍给⼤家讲讲这个以神之名命名的监控系统。
普罗⽶修斯(Prometheus)介绍
Prometheus是⼀个时间序列数据库。但是,它不仅仅是⼀个时间序列数据库。
它涵盖了可以绑定的整个⽣态系统⼯具集及其功能。
Prometheus主要⽤于对基础设施的监控。包括服务器,数据库,VPS,⼏乎所有东西都可以通过Prometheus进⾏监控。Prometheus希望通过对Prometheus配置中定义的某些端点执⾏的HTTP调⽤来检索度量标准。
普罗⽶修斯的主要特点是:
⼀个多维其中包含通过度量标准名称和键/值对标识的时间序列数据
PromQL,⼀种 ,可利⽤此维度
不依赖分布式存储;单服务器节点是⾃治的
时间序列收集通过HTTP上的拉模型进⾏
通过中间⽹关⽀持
通过服务发现或静态配置发现⽬标
多种图形和仪表板⽀持模式
实验环境:(全部关闭防⽕墙,禁⽤selinux)
Docker容器:ip需要安装的组件
Docker:192.168.1.40nodeExporter
Prometheus server
Cadvisor
grafana
docker2:192.168.1.50nodeExporter
Cadvisor
docker3:192.168.1.100nodeExporter
Cadvisor
需要部署的组件:
Prometheus server:普罗⽶修斯的主服务器
nodeexporter:负责收集host硬件信息和操作系统信息
CAdvisor:负责收集host上运⾏的容器信息
grafana:负责展⽰普罗⽶修斯监控界⾯
1):3个节点,全部部署node-exporter和cadvisor
docker进入容器
docker1上:部署nodeexporter,收集硬件和系统信息;且在浏览器上验证结果。⽹页访问成功则部署成功
[root@docker ~]# 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 / [root@docker2 ~]# 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 [root@docker3 ~]# 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 PS:注意这⾥使⽤了--net=host,这样prometheus server 可以直接与node-exporter通信。
部署安装cadvisor,收集节点容器信息:(在浏览器上验证,猫头鹰头像)
[root@docker ~]# 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 -[root@docker2 ~]# 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 [root@docker3 ~]# 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
2)在docker1上部署prometheus server服务:
在部署prometheus之前,我们需要对它的配置⽂件进⾏修改,所以我们先运⾏⼀个容器,先将其配置⽂件拷贝出来。
[root@docker ~]# docker run -d -p 9090:9090 --name prometheus --net=host prom/prometheus
[root@docker ~]# docker exec -it prometheus /bin/sh
[root@docker ~]# docker cp prometheus:/etc/l ./
修改:第29⾏,这⾥指定了promethus的监控项,包括它也会监控⾃⼰收集到的数据。
- targets: ['localhost:9090','localhost:8080','localhost:9100','192.168.1.50:8080','192.1 68.1.50:9100','192.168.1.100:8080','192.168.1.100:9100']
[root@docker ~]#docker run -d -p 9090:9090 --name prometheus --net=host -v /l:/etc/l prom/prometheus
PS:在浏览器上点击status--targets这⾥能够查看到我们各个监控项
3)在docker1上,部署gragana服务,⽤来展⽰prometheus
[root@docker ~]# mkdir grafana-storage
[root@docker ~]# chmod 777 -R grafana-storage
[root@docker ~]# docker run -d -p 3000:3000 --name grafana -v /root/grafana-storage:/var/lib/grafana -e "GF_SECURITY_ADMIN_PASSWORD=123456" grafana ##在⽹页上登陆,账号admin 密码123456,登陆成功后
先添加数据源--->添加普罗⽶修斯源---->进⼊后更改⾃定义名称及指定普罗⽶修斯的源----->点击save上传----->会看到普罗⽶修斯
与grafana连接正常
PS:看到下⾯这个提⽰说明普罗⽶修斯和grafana服务是正常连接的,此时,虽然grafana收集到了数据,但怎么显⽰它,任然是个问题,grafana⽀持⾃定义显⽰信息,不过要⾃定义起来⾮常⿇烦,不过好在,grafana官⽅为我们提供了⼀些模板,来供我们使⽤。
官⽹下载模板:
选择⼀款模板,然后我们有2种模式可以套⽤这个模板。
1:选择模板
点击下载。
下载完成之后,来到控制台:
把下载好的导⼊
第⼆种导⼊模板⽅式:
可以直接通过模板的id号。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论