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