Prometheus监控Pod

小菜鸟 1年前 (2023-11-07) 阅读数 1030 #编程日记
文章标签 后端

基础学习

cAdvisor由谷歌开源,cAdvisor不仅可以搜集一台机器上所有运行的容器信息,还提供基础查询界面和Http接口,方便其他组件如Prometheus进行数据抓取,cAdvisor可以对节点机器上的资源及容器进行实时监控和性能数据采集,包括CPU使用情况,内存使用情况,网络吞吐量及文件系统使用情况

节点部署情况

系统IP服务
Ubuntu22.04192.168.202.221Prometheus, grafana, blackbox exporter, node exporter ,k8s master
Ubuntu22.04192.168.202.222node exporter , k8s worker
Ubuntu22.04192.168.202.223node exporter, k8s worker
Ubuntu22.04192.168.202.224node exporter , k8s worker

项目地址

github.com/google/cadv…

部署cAdvisor

下载

由于advisor的镜像在gcr.io仓库里,因此本人在docker hub推了一个最新的版本 postkarte/cadvisor:latest

运行容器

在所有k8s相关的节点上都运行容器

sh
复制代码
sudo 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 \ --detach=true \ --name=cadvisor \ --privileged \ --device=/dev/kmsg \ postkarte/cadvisor:latest

查看运行结果

sh
复制代码
root@node1:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8695ddf2c9bb postkarte/cadvisor:latest "/usr/bin/cadvisor -…" 6 seconds ago Up 5 seconds (health: starting) 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp cadvisor

image.png

在Prometheus中添加cAdvisor

在Prometheus中配置一个job,添加容器的监控

yaml
复制代码
- job_name: "k8s-containers" static_configs: - targets: ["192.168.202.221:8080","192.168.202.222:8080","192.168.202.223:8080","192.168.202.224:8080"]

检查配置文件是否正确

sh
复制代码
root@node1:/usr/local/prometheus# ./promtool check config prometheus.yml Checking prometheus.yml SUCCESS: prometheus.yml is valid prometheus config file syntax

重启Prometheus

sh
复制代码
systemctl restart prometheus

可以看到k8s采集到数据了

image.png

在Grafana中导入模板展示数据

导入id为315的dashboard

查看效果

image.png

文章源地址:https://juejin.cn/post/7298325767490256936
热门
标签列表