当前位置: 首页 > news >正文

prometheus+cadvisor监控docker

官方解释 cAdvisor(ContainerAdvisor)为容器用户提供了对其运行容器的资源使用和性能特性的了解。它是一个正在运行的守护程序,用于收集、聚合、处理和导出有关正在运行的容器的信息。具体来说,它为每个容器保存资源隔离参数、历史资源使用情况、完整历史资源使用的直方图和网络统计信息。该数据按容器和机器范围导出。

说白了其实和一般监控的agent类似,就是将容器内部的监控指标持久化存储然后web ui界面展示,结合prometheus+grafana更好的汇聚监控指标

1. docker部署

[root@zabbix cadvisor]# cat docker-cadvisor.yml 
version: "3.5"
services:cadvisor:image: harbor.od.com/prometheus/cadvisor:latestcontainer_name: cadvisorvolumes:- /:/rootfs:ro- /var/run:/var/run:ro- /sys:/sys:ro- /var/lib/docker/:/var/lib/docker:ro- /dev/disk/:/dev/disk:roports:- 8088:8080[root@zabbix cadvisor]# docker-compose -f docker-cadvisor.yml up -d    
  1. 镜像地址 ,启动后访问http://ip:8088即可看到界面,包含内存、cpu、network、Filesystem等监控信息,
    在这里插入图片描述

  2. 查看不同容器数据修改访问后缀即可,比如查看jenkins访问地址为http://ip:8080/docker/jenkins,其他依次类推,web界面不是很方便,因为都是容器形成的字符串不好识别

  3. Cgroups 的工作目录为/sys/fs/cgroup,Cgroups包含很多子系统,可以用来对不同的资源进行限制。例如对CPU、内存、PID、磁盘 IO等资源进行限制和监控

  4. CPU、内存、网络等资源使用情况信息,是从 cgroup 文件系统中读取相应的文件,
    /sys/fs/cgroup/cpuacct/docker/[container_id]/cpuacct.usage、
    /sys/fs/cgroup/memory/docker/[container_id]/memory.usage_in_bytes、
    /sys/fs/cgroup/net_cls,net_prio/docker/[container_id]/net_cls.classid 等。
    磁盘 I/O、网络 I/O 等性能指标信息,则是从 proc 文件系统中的相应文件读取,例如 /proc/[container_pid]/io、/proc/[container_pid]/net/dev 等。

在这里插入图片描述
1635495936byte换算下来也就是1.635495936GB也接近如下docker stats所展示的
在这里插入图片描述
web页面获取到的和stats获取到的都是接近的数值
在这里插入图片描述

2. 配置prometheus

在prometheus.yml中添加cadvisor信息

scrape_configs:- job_name: 'cadvisor'scrape_interval: 15sstatic_configs:- targets: ['10.1.74.21:8088']

重新加载prometheus

1. 重启
docker restart prometheus2. 重新加载配置文件
curl -X POST http://localhost:9090/-/reload

访问http://localhost:9090/targets即可查看对应的端点是否连通正常
在这里插入图片描述

http://www.lryc.cn/news/22895.html

相关文章:

  • 正演(1): 二维声波正演模拟程序(中心差分)Python实现
  • 珠海数据智能监控器+SaaS平台 轻松实现SMT生产管控
  • 习题22对前面21节的归纳总结
  • 使用Vite快速构建前端React项目
  • 人工智能高等数学--人工智能需要的数学知识_微积分_线性代数_概率论_最优化---人工智能工作笔记0024
  • 阿里大数据之路总结
  • ABAP中Literals的用法(untyped literal vs. typed literal)
  • tensorflow1.14.0安装教程
  • C++赋值运算符重载
  • 网络性能总不好?专家帮你来“看看”— CANN 6.0 黑科技 | 网络调优专家AOE,性能效率双提升
  • Qss自定义属性
  • 连接金蝶云星空,数据交互轻松搞定!丨三叠云
  • JSX是什么,React为什么使用JSX,babel怎么转译JSX的
  • 从工地转行软件测试,拿下13k+年终奖是种什么体验?
  • 前端面试题 —— 计算机网络(二)
  • 山东大学机器学习期末2022
  • FEBC2022|打造VR内容生态闭环 佳创视讯持续加码轻量化内容建设
  • Redis常见的数据类型命令
  • Python3+Selenium3自动化测试-(准备)
  • VUE的安装和创建
  • ETL工具(kettle) 与 ETL产品(BeeloadBeeDI) 差之毫厘,谬以千里
  • 轻松入门H3C无线AC上线AP【入门篇】
  • 尚医通(二十五)就医提醒和预约统计
  • 网页js版音频数字信号处理:H5录音+特定频率信号的特征分析和识别提取
  • uniapp结合腾讯云及时通信IM的聊天记录本地存储方案
  • PyQGIS开发 -- 基础学习笔记
  • 一篇了解模块打包工具之 ——webpack(1)
  • k8s学习之路 | Day16 k8s 中的容器初探
  • export、import、commit、save、load的区别
  • 多部委联合举办中国人工智能大赛启动会在厦召开,快商通亮相发言