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