CIG是什么
容器监控3剑客(CAdvisor监控收集+InfuxDB存储数据+Granfana展示图表)
(1)CAdvisor(监控)
CAdvisor是一个容器资源监控工具,包括容器的内存,CPU,网络IO,磁盘IO等监控,同时提供了一个WEB页面用于查看容器的实时运行状态。CAdvisor默认存储2分钟的数据,而且只是针对单物理机。不过,CAdvisor提供了很多数据集成接口,持InfluxDB,Redis,Kafka,Elasticsearch等集成,可以加上对应配置将监控数据发往这些数据库存储起来。
CAdvisor功能:
· 展示Host和容器两个层次的监控数据。
· 展示历史变化数据。
(2)InfluxDB(存储)
InfluxDB是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。
CAdvisor默认只在本机保存最近2分钟的数据,为了持久化存储数据和统一收集展示监控数据,需要将数据存储到InfluxDB中。InfluxDB是一个时序数据库,专门用于存储时序相关数据,很适合存储CAdvisor的数据。而且,CAdvisor本身已经提供了InfluxDB的集成方法,只要启动容器时指定配置即可。
InfluxDB主要功能:
· 基于时间序列,支持与时间有关的相关函数(如最大、最小、求和等);
· 可度量性:你可以实时对大量数据进行计算;
· 基于事件:它支持任意的票件数据;
(3)Granfana(暴露)
Grafana是一个开源的数据监控分析可视化平台,支持多种数据源配置(支持的数据源包括InfluxDB、MySQL、Elasticserch、OpenTSDB、Graphite等)和丰富的插件及模板功能,支持图表权限控制和报警。
Grafan主要特性:
· 灵活丰富的图形化选项
· 可以混合多种风格
· 支持白天和夜间模式
· 多个数据源
(4)总结
1、组件分工
cAdvisor:负责采集、聚合、处理并导出运行中 Docker 容器的监控数据,是数据采集层。
InfluxDB:作为时序数据库,专门存储 cAdvisor 采集到的各类监控指标(如 CPU、内存、网络等),是数据存储层。
Grafana:提供可视化仪表盘,将 InfluxDB 中的时序数据以图表、报表形式展示,是数据展示层。
2、架构:三者结合形成了采集 - 存储 - 可视化的完整 Docker 容器监控链路,能实时监控容器运行状态,便于故障排查和性能分析。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程