Prometheus监控Pod

基础学习

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

节点部署情况

系统 IP 服务
Ubuntu22.04 192.168.202.221 Prometheus, grafana, blackbox exporter, node exporter ,k8s master
Ubuntu22.04 192.168.202.222 node exporter , k8s worker
Ubuntu22.04 192.168.202.223 node exporter, k8s worker
Ubuntu22.04 192.168.202.224 node 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

在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采集到数据了

在Grafana中导入模板展示数据

导入id为315的dashboard

查看效果

相关推荐
霸道流氓气质16 小时前
SpringBoot中通用工具类库(Utils)封装与使用实践
spring boot·后端·python
MemoleCard19 小时前
深度解析Java当中的锁机制
后端
wear工程师20 小时前
ThreadLocal 在线程池里为什么会串数据:别只会答内存泄漏
java·后端
whyfail20 小时前
前端学 Spring Boot(2):一次点击,如何穿过整个后端?
前端·spring boot·后端
程序员cxuan1 天前
Loop 还没玩明白,Graph Engineering 又火了。
人工智能·后端·程序员
uzong1 天前
把一面面试总结做成一个 Skill:重复的事,就别每次都重写
后端·面试
程序员海军1 天前
一个 AI 应用开发程序员的一天,都在屏幕前忙些什么?
前端·后端·程序员
不能放弃治疗1 天前
MCP
后端
江湖十年1 天前
Go 语言中 YAML to JSON 踩坑笔记
后端·go·json