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主机
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、模板不兼容