docker容器监控:cadvisor+influxdb+grafana

cadvisor+influxdb+grafana可以实现容器信息获取、存储、显示等容器监控功能,是目前流行的docker监控开源方案。

方案介绍

cadvisor

Google开源的用于监控基础设施应用的工具,可以零配置运行在docker主机上来监控Docker主机以及Docker容器。其为单节点监控,只能监控一个主机。多节点监控可参考Google的Kubernetes。作为docker服务的监控数据收集器,提供给influxdb。

influxdb

InfluxDB 是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖、提供管理界面。提供基于时间序列,基于事件的可度量的实时计算功能。

grafana

Grafana可视化大型测量数据的开源程序,有灵活丰富的图形化选项,可以混合多种风格,多个数据源。例如Graphite、zabbix、InfluxDB、Prometheus、mysql和OpenTSDB 详见配置页面。

方案实施

在Ubuntu16.04上可通过docker部署体验。

1. 部署influxdb

docker run -p 8083:8083 -p 8086:8086 --name=influxdb --hostname=influxdb tutum/influxdb

通过ip:8083浏览器访问数据库,设置用户名和密码为root,save保存。

 

创建cadvisor数据库供数据采集使用。

 

2. 部署cadvisor

在需要监控的主机上运行如下命令启动容器:

docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro 
--hostname=cadvisor --publish=8080:8080 --detach=true --name=cadvisor google/cadvisor 
-storage_driver=influxdb -storage_driver_host=192.168.134.144:8086 -storage_driver_db=cadvisor -storage_driver_user=root -storage_driver_password=root

注:-storage_driver_host=ip:8086

通过IP:8080访问cadvisor,可看到主机实时信息和图示,不仅包含docker信息还有整个系统信息,如CPU和Filesystem。

 

可通过IP:8080/metrics获取所有采集数据(某一时刻)。

此时,可在influxdb界面中看到advisor采集的数据,验证两容器运行正常。

3. 部署grafana

docker run -d -p 3000:3000 --hostname grafana --name grafana grafana/grafana

注:测试版本为latest,即6.2.4。

可通过IP:3000浏览grafana,用户名密码都是admin。

1) 首先添加数据源InfluxDB。

 

2) 配置数据源

 

点选按钮“Save&Test”,确保输出“Data source is working”。

3) 添加dashboard->Add Query, 配置查询

点选所需配置项,然后保存即可。

4) 可以配置报警信息,如mem管控等

内存超过250MB报警。

5) 配置CPU和memory界面如下图

 

参考:

1. Docker监控:基于阿里云容器服务构建自己的Docker监控框架

2. https://github.com/Kentik/docker-monitor

3. https://www.brianchristner.io/how-to-setup-docker-monitoring/

4. docker监控方案的最佳实践(cadvisor+influxdb+grafana)

5. docker 实时监控:cadvisor+influxdb+grafana

6. https://rancher.com/comparing-10-container-monitoring-solutions-rancher/

7. 容器监控实践—cAdvisor

8. Cadvisor源码分析监控项

9. Using InfluxDB in Grafana

原文地址:https://www.cnblogs.com/embedded-linux/p/11066590.html