cAdvisor:Google开源的工具,用于监控Docker主机和容器系统资源,通过图形页面实时显示数据,但不存储;它通过宿主机/proc、/sys、/var/lib/docker等目录下文件获取宿主机和容器运行信息。
InfluxDB:是一个分布式的时间序列数据库,用来存储cAdvisor收集的系统资源数据。
Grafana:可视化展示平台,可做仪表盘,并图表页面操作很方面,数据源支持zabbix、Graphite、InfluxDB、OpenTSDB、Elasticsearch等
它们之间关系:
cAdvisor容器数据采集->InfluxDB容器数据存储->Grafana可视化展示
influxdb
docker run -d -p 8083:8083 -p 8086:8086 --name influxdb tutum/influxdb
cadvisor
docker run -d --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --link influxdb:influxdb -p 8081:8080 --name=cadvisor google/cadvisor:latest -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxdb:8086
grafana, 启动后访问ip:3000即可,初始用户名和密码都为admin
docker run -d -p 3000:3000 -e INFLUXDB_HOST=influxdb -e INFLUXDB_PORT=8086 -e INFLUXDB_NAME=cadvisor -e INFLUXDB_USER=cadvisor -e INFLUXDB_PASS=cadvisor --link influxdb:influxsrv --name grafana grafana/grafana