通过cadvisor+influxdb+grafana三者有机结合,打造跨主机容器监控。
优点
1、跨主机监控,可扩展
2、容器自发现
3、历史数据长期保存
4、自定义配置程度高
5、采集间隔很短,达到秒级
6、多种方式告警
缺点
1、不能自动隐藏已停止的容器
2、grafana会展现所有的数据,导致展示长时间的数据时,各个数据点重叠。
组件
数据采集–cAdvisor
cAdvisor为Docker容器用户提供了了解运行时容器资源使用和性能特征的工具。
cAdvisor是单机版容器监控系统,通过收集宿主机的cgroup统计信息,经过加工处理后通过图展示在页面上。
这些信息包括宿主机、容器的CPU、内存、网络流量、磁盘空间等资源隔离和运行数据。
工作流程大致:
1)、收集、聚集、处理宿主机的cgroup统计数据
2)、写入后端基于事件序列的数据库(本文使用InfluxDB)
3)、展示时读取基于事件序列的数据库
优势:
部署、维护简单:通过容器形式部署,“开箱即用”,无需配置即可使用
监控容器和宿主机
通过图展示,比较美观
支持多种基于事件序列的数据库,写入和读取快
不足之处:
只能看到2-3分钟的监控数据
消耗的内存较高,通常几百M
页