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
posted on 2020-07-17 15:57  An.amazing.rookie  阅读(10599)  评论(1编辑  收藏  举报