k8s-Prometheus監控pod指標數據


監控pod資源

cadvisor由谷歌開源,cadvisor不僅可以搜集一台機器上所有運行的容器信息,還提供基礎查詢界面和http接口,方便其他組件如Prometheus進行數據抓取,cAdvisor可以對節點機器上的資源及容器進行實時監控和性能數據采集,包括CPU使用情況、內存使用情況、網絡吞吐量及文件系統使用情況。

k8s 1.12之前cadvisor集成在node節點的上kubelet服務中,從1.12版本開始分離為兩個組件,因此需要在node節點單獨部署cadvisor。

https://github.com/google/cadvisor

cadvisor鏡像准備

1、cd /opt

2、docker load -i cadvisor_v0.36.0.tar.gz

3、docker tag gcr.io/google_containers/cadvisor:v0.36.0 harbor.linux.com/base/cadvisor:v0.36.0

4、docker push harbor.linux.com/base/cadvisor:v0.36.0

啟動cadvisor容器

1、docker run \
  --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 \      #指定cadvisor的監聽端口
  --detach=true \
  --name=cadvisor \          #指定容器名稱
  harbor.linux.com/base/cadvisor:v0.36.0
#容器的所有數據是存放在宿主機的 /var/lib/docker/ 目錄下,所以把宿主機的目錄映射到 cadvisor 容器中,讓 cadvisor 獲取其他容器的運行數據

2、每個node節點都需要運行此容器

prometheus采集node節點上所有pod的數據

1、vim /usr/local/prometheus/prometheus.yml
scrape_configs:
  - job_name: 'kubernetes-k8s-pods'     #采集指定node節點上所有pod的數據
    static_configs:
    - targets: ['192.168.3.144:8080','192.168.3.145:8080','192.168.3.146:8080']

2、systemctl restart prometheus.service

grafana添加監控pod的模板

導入官方的395、893模板即可

1、導入指定ID的模板
2、指定數據源為prometheus


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM