首页 > 快讯 >

【云原生 • Docker】cAdvisor+Prometheus+Grafana 10分钟搞定Docker容器监控平台|当前看点

2023-04-21 16:02:46 来源:腾讯云

10分钟搞定Docker容器监控平台

cAdvisor(Container Advisor)Google开源的一个容器监控工具,可用于对容器资源的使用情况和性能进行监控。用于收集、聚合、处理和导出正在运行容器的有关信息。具体来说,该组件对每个容器都会记录其资源隔离参数、历史资源使用情况、完整历史资源使用情况的直方图和网络统计信息。cAdvisor本身就对 Docker容器支持,并且还对其它类型的容器尽可能的提供支持,力求兼容与适配所有类型的容器。

由以上介绍我们可以知道,cAdvisor是用于监控容器引擎的,由于其监控的实用性,Kubernetes已经默认将其与 Kubelet融合作为容器监控指标的默认工具,所以,对于云原生集群直接使用 Kubelet组件提供的指标采集地址即可。


(资料图)

cAdvisor部署

1、使用以下命令安装启动cAdvisor组件

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 \  google/cadvisor:latest

2、此时,cAdvisor组件已经启动,我们可以使用浏览器访问 http://自己IP地址:8080访问到cAdvisor组件Web UI

3、而在多主机的情况下,在所有节点上运行一个cAdvisor再通过各自的Web UI查看监控信息显然不太方便,同时cAdvisor默认只保存2分钟的监控数据。好消息是cAdvisor已经内置了对Prometheus的支持。访问http://自己的IP地址:8080/metrics即可获取到标准的Prometheus监控样本输出:

4、下面表格中列举了一些cAdvisor中获取到的典型监控指标:

指标名称

类型

含义

container_cpu_load_average_10s

gauge

过去10秒容器CPU的平均负载

container_cpu_usage_seconds_total

counter

容器在每个CPU内核上的累积占用时间 (单位:秒)

container_cpu_system_seconds_total

counter

System CPU累积占用时间(单位:秒)

container_cpu_user_seconds_total

counter

User CPU累积占用时间(单位:秒)

container_fs_usage_bytes

gauge

容器中文件系统的使用量(单位:字节)

container_fs_limit_bytes

gauge

容器可以使用的文件系统总量(单位:字节)

container_fs_reads_bytes_total

counter

容器累积读取数据的总量(单位:字节)

container_fs_writes_bytes_total

counter

容器累积写入数据的总量(单位:字节)

container_memory_max_usage_bytes

gauge

容器的最大内存使用量(单位:字节)

container_memory_usage_bytes

gauge

容器当前的内存使用量(单位:字节

container_spec_memory_limit_bytes

gauge

容器的内存使用量限制

machine_memory_bytes

gauge

当前主机的内存总量

container_network_receive_bytes_total

counter

容器网络累积接收数据总量(单位:字节)

container_network_transmit_bytes_total

counter

容器网络累积传输数据总量(单位:字节)

Prometheus部署

1、创建prometheus存储数据外挂目录,避免容器重启丢失:

mkdir -p /disk/docker-monitor/prometheus/datachmod 777 /disk/docker-monitor/prometheus/data

2、prometheus配置文件外挂出来,方便修改,vi /disk/docker-monitor/prometheus/prometheus.yml

global:  scrape_interval: 15s  evaluation_interval: 15s alerting:  alertmanagers:    - static_configs:        - targets:          # - alertmanager:9093rule_files:  - rule/record/*.ymlscrape_configs:  - job_name: "prometheus"    static_configs:      - targets: ["localhost:9090"]  - job_name: "cadvisor"    static_configs:      - targets: ["124.222.45.207:8080"]

❝job_name: "prometheus"配置抓取Prometheus自身相关指标;job_name: "cadvisor"配置抓取之前配置的cAdvisor组件指标。❞

3、Docker部署Prometheus

docker run -d -p 9090:9090 --name prometheus \    -v /disk/docker-monitor/prometheus/conf:/opt/bitnami/prometheus/conf \    -v /disk/docker-monitor/prometheus/data:/opt/bitnami/prometheus/data \    bitnami/prometheus:2.42.0 \    --web.enable-lifecycle --web.enable-admin-api\    --config.file=/opt/bitnami/prometheus/conf/prometheus.yml\    --storage.tsdb.path=/opt/bitnami/prometheus/data

❝--web.enable-lifecycle --web.enable-admin-api提供rest api接口方式管理prometheus,比如配置热加载:curl -XPOST http://localhost:9090/-/reload。注意:这里将prometheus配置文件和存储目录外挂出来,避免容器重启后数据丢失。❞

4、Prometheus启动完成后,浏览器访问:

访问Status -> Targets页面,发现配置的两个抓取Job已经显示,并且State是绿色UP,则接入成功。

5、当能够正常采集到cAdvisor的样本数据后,可以通过以下表达式计算容器的CPU使用率sum(irate(container_cpu_usage_seconds_total{image!=""}[1m])) without (cpu)

Grafana部署

1、部署Grafana

docker run -d --name=grafana -p 3000:3000 -v grafana:/var/lib/grafana grafana/grafana

❝/var/lib/grafana路径外挂出来,该目录存储Grafana插件、数据信息,避免Docker容器重启数据丢失。❞

2、访问:http://自己的IP:3000/login,输入账号admin/admin

3、创建Prometheus类型数据源,指向刚才搭建的Prometheus

4、导入Docker容器监控面板,这里使用11277

5、监控面板就可以看到Docker容器运行情况,如下图,当前运行中容器有4个,总占用内存319MB,总CPU使用率大概1.84%,并以曲线方式展示每个容器的CPU使用率、内存使用率、网络IO和磁盘IO等。

上一篇:

新动态:永靖县气象台发布大风蓝色预警信号【2023-04-19】

下一篇:

最后一页

x
推荐阅读

【云原生 • Docker】cAdvisor+Prometheus+Grafana 10分钟搞定Docker容器监控平台|当前看点

新动态:永靖县气象台发布大风蓝色预警信号【2023-04-19】

川能动力(000155)4月21日主力资金净卖出3794.10万元 今日要闻

一图读懂2023年一季度海南省经济运行情况|当前热讯

热消息:金迪克:2022年净利同比降49.62% 拟10转4派2元

未来一周全是雨,记得带伞 环球通讯

【世界新视野】虾米放冰箱为什么会臭?

天天速读:全国舞台艺术优秀节目创作扶持计划名单公布,湖南3项入选

学有所成就该扎根大城市?她说,我选择回乡与食品安全硬刚!

以色列驻华大使在2023年世界地球日前夕呼吁各方合作 创新应对环境问题

科学衔接待花开 同心而行见未来-环球资讯

万江古村 生生不息(行天下)

6月6日是什么节日_6月6日是什么日子_世界新视野

环球今亮点!八村塁:灰熊充满身体对抗 湖人需要做得更好来匹配这点

热线问答|全面注册制常见问题(一)

​“这世道是怎么了?”又是媚外!山东一女大学生陪读多名外籍男

今日精选:主题投资退潮的标志是什么?

3-1!3-2!冠军赛3大冷门诞生:国乒3人出局,阻击张本智和失败

全球速递!震惊!气愤!!已停职!

开坛护秀发 喜迎“三月三”|报道

全球最新:双耳效应是什么原理_双耳效应是什么

高考状元分数是多少2022_高考状元分数-今日要闻

世界热文:顿号的意思解释_顿号的意思

白酒板块午盘走弱 贵州茅台股价下滑0.73% 天天即时

市民社会与法律精神:人的品格与制度变迁|环球关注

当前通讯!“淄博烧烤”富阳版,coming...

全球快讯:深圳近期入市新房分析

索朗曲扎:戍守西藏阿里典角村,“我就是这里的监控探头”_全球热点

观察:美股三大指数集体低开,新能源汽车股普跌,特斯拉跌超8%

倾听你的声音,展现你的风采!学府中学举办英语节朗诵比赛

南京建邺城管开展绿博园周边流动摊点专项整治 全球时快讯

session失效跳转到登录页面(session 失效)

一季度完成旅客运输量1.29亿人次 中国民航运输生产整体向好 当前最新

当前简讯:验证码竟成骚扰工具,谁在作祟?

跨越400多年,“莎翁”不被遗忘的理由是什么?

世界滚动:热闹的上海车展,落寞的上汽集团!

纺织服装产业国际合作对接会在香港举行

桃李面包(603866):业绩降幅收窄 逐季改善可期_当前速讯

北向资金全天单边净买入46.90亿元_世界热推荐

世界播报:Dear Sir or Madame_dear sir or madam

Socket编程基础-Socket编程基础-世界快消息

西安国际港务区与浙江省海港集团签署了战略合作框架协议

今日播报!科华数据:全国算力布局规模计划超过100P

湖人一喜一忧!哈姆收获锋线救命稻草,佩林卡续约已有规划-每日热文

太古股份公司A(00019)4月19日斥资约1475.97万港元回购25.25万股

科济药业CAR-T产品CT041获国家药品监督管理局IND批准

t184是哪个铁路局_T282属于哪个铁路局 焦点讯息

中老铁路国际旅客列车开行一周 老挝留学生直呼太方便

世界热议:多地针对多孩家庭出台住房政策,浙江上虞补贴30万元

《疾速追杀》主创,希望将《浴血黑帮》主演加入续作