【云原生 • Docker】cAdvisor+Prometheus+Grafana 10分钟搞定Docker容器监控平台 天天时快讯
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等。
-
-
78元酸菜鱼结账时变78元1斤 拍视频被店主威胁|环球新动态
游民星空 2023-04-24
-
新生支付是正规平台吗_新生支付 环球新动态
互联网 2023-04-24
-
每体为巴萨评分:德容等人8分最高,莱万6分,阿隆索5分最低|世界微动态
懂球帝 2023-04-24
-
韩愈马说原文译文赏析_韩愈马说原文译文赏析?_每日观察
互联网 2023-04-24
-
俄罗斯与联合国将磋商黑海港口农产品外运协议前景|焦点快报
新华社 2023-04-23
-
中美GDP差距拉大,日本着急了!中国干嘛急于超越美国?
金梅煮酒珠江评论 2023-04-23
-
低密度脂蛋白偏高的原因及治疗方法吃什么药_低密度脂蛋白偏高的原因及治疗方法
互联网 2023-04-23
-
【全球新要闻】盐津铺子(002847.SZ):目前电商各版块中,抖音占比在40%-50%左右
格隆汇 2023-04-23
-
台基股份:公司研发生产设备和各类原材料主要由国内厂家提供,公司具有完整自主的功率半导体工艺制程技术
证券之星原创 2023-04-23
-
-
78元酸菜鱼结账时变78元1斤 拍视频被店主威胁|环球新动态
游民星空 2023-04-24
-
新生支付是正规平台吗_新生支付 环球新动态
互联网 2023-04-24
-
每体为巴萨评分:德容等人8分最高,莱万6分,阿隆索5分最低|世界微动态
懂球帝 2023-04-24
-
韩愈马说原文译文赏析_韩愈马说原文译文赏析?_每日观察
互联网 2023-04-24
-
俄罗斯与联合国将磋商黑海港口农产品外运协议前景|焦点快报
新华社 2023-04-23
-
中美GDP差距拉大,日本着急了!中国干嘛急于超越美国?
金梅煮酒珠江评论 2023-04-23
-
低密度脂蛋白偏高的原因及治疗方法吃什么药_低密度脂蛋白偏高的原因及治疗方法
互联网 2023-04-23
-
【全球新要闻】盐津铺子(002847.SZ):目前电商各版块中,抖音占比在40%-50%左右
格隆汇 2023-04-23
-
台基股份:公司研发生产设备和各类原材料主要由国内厂家提供,公司具有完整自主的功率半导体工艺制程技术
证券之星原创 2023-04-23
-
当前速读:cf网络出现异常与服务器断开连接1_cf网络出现异常与服务器断开连接
互联网 2023-04-23
-
天天微头条丨专访:金权政治腐蚀西方民主和平等——访英国《金融时报》首席经济评论员沃尔夫
新华社 2023-04-23
-
世界新资讯:拟增加5000个普高招生计划!2023年成都中考招生政策发布
四川经济网 2023-04-23
-
教师资格证定期注册网报中未关联到首次注册信息怎么办
本地宝 2023-04-23
-
安徽铜陵合理安排企业用能指标 聚看点
经济日报 2023-04-23
-
文化新观察|诵读声,在祖国最南端学校回荡|当前动态
新华社新媒体 2023-04-23
-
当前观察:山西煤炭运销集团阳泉平定有限公司
互联网 2023-04-23
-
金庸图书馆将被拆除?浙江嘉兴回应
北京日报 2023-04-23
-
2023浙江台州市椒江区葭沚街道东山卫生院招聘编外人员2人公告|当前观察
椒江区人民政府 2023-04-23
-
新东方教学点因无证办学被罚 今日热门
企查查财经 2023-04-23
-
房贷年限65岁还是60岁_房贷年限_世界速递
互联网 2023-04-23
-
小额理财买什么比较好?
希财网 2023-04-23
-
NBA | 没有乔治、莱昂纳德 威少拼尽全力也救不了快船-世界独家
北青网 2023-04-23
-
网上淘宝店怎么开通_网上淘宝店怎么开-环球关注
互联网 2023-04-23
-
每日速看!孩子沉迷网络不上学怎么办_小学生上网利大于弊
科学教育网 2023-04-23
-
大煞风景的意思是什么_大煞风景的意思_今日热讯
互联网 2023-04-23
-
天天快报!4月23日国内市场DOTP行情趋稳
生意社 2023-04-23
-
饲养宠物得病现状是什么?饲养宠物易生哪些病?|每日热门
城市头条网 2023-04-23
-
2023西安中考体育艺术特长生招生计划:原则上不超学校招生计划的5% 焦点报道
华商网华商报 2023-04-23
-
奏响经济与文化融合发展“二重唱”
宁夏日报 2023-04-23