Prometheus+Grafana 监控 Docker

cAdvisor (Container Advisor) :用于收集正在运行的容器资源使用和性能信息。
https://github.com/google/cadvisor
Prometheus(普罗米修斯):容器监控系统。
https://prometheus.io
https://github.com/prometheus
Grafana:是一个开源的度量分析和可视化系统。
https://grafana.com/grafana/download
https://grafana.com/dashboards/193 (监控Docker主机模板)

Docker部署cAdvisor:

docker run -d 
--volume=/:/rootfs:ro 
--volume=/var/run:/var/run:ro 
--volume=/sys:/sys:ro 
--volume=/var/lib/docker/:/var/lib/docker:ro 
--volume=/dev/disk/:/dev/disk:ro 
--publish=8080:8080 
--detach=true 
--name=cadvisor 
google/cadvisor:latest
[root@k8s-node3 ~]# docker ps
CONTAINER ID        IMAGE                                        COMMAND                  CREATED             STATUS              PORTS                                            NAMES
dc7145546a48        google/cadvisor:latest                       "/usr/bin/cadvisor -…"   20 minutes ago      Up 20 minutes       0.0.0.0:8080->8080/tcp                           cadvisor
1f8a89029b08        192.168.146.130/welcome/java-demo:master-5   "catalina.sh run"        4 hours ago         Up 4 hours          0.0.0.0:88->8080/tcp                             tomcat-java-demo
e06952269e6c        jenkins/jenkins:lts                          "/sbin/tini -- /usr/…"   46 hours ago        Up 46 hours         0.0.0.0:50000->50000/tcp, 0.0.0.0:80->8080/tcp   jenkins

端口是8080

 metrics可以获取到文本数据, http://192.168.146.132:8080/metrics  ,Prometheus就是获取这些数据进行存储

Docker部署Prometheus

docker run -d 
--name=prometheus 
-p 9090:9090 
-v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml 
prom/prometheus

编辑配置文件,监控docker主机,注意格式

[root@k8s-node2 ~]# vim /tmp/prometheus.yml

  - job_name: 'docker'
    static_configs:
    - targets: ['192.168.146.132:8080']

查看状态

[root@k8s-node2 tmp]# docker ps -l
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
a4115bcf47ba        prom/prometheus     "/bin/prometheus --c…"   11 days ago         Up 10 seconds       0.0.0.0:9090->9090/tcp   prometheus

prometheus有个简单的界面,可以查看监控的docker主机

http://192.168.146.131:9090/

 

Docker部署Grafana 

docker run -d 
--name=grafana 
-p 3000:3000 
grafana/grafana

用户admin密码admin ,然后接着修改新密码

登录进来后,从左到右的流程第一步安装, 第二步添加数据源,第三步创建仪表盘,第四步添加用户

 

 添加数据源,也就是prometheus的登录地址

 创建仪表盘,点击New dashboard

 直接选择导入别人分享的仪表盘

https://grafana.com/dashboards/193

将json下载下来黏贴到这来

 

选择好数据源,导入

 

grafana不出图原因:

1、时间没同步
2、图表中的promsql写的有问题(导入的模板与数据不匹配)
3、模板不兼容

 
原文地址:https://www.cnblogs.com/w787815/p/12000359.html