本文共 1245 字,大约阅读时间需要 4 分钟。
Google开源的用于监控基础设施应用的工具,它是一个强大的监控工具,不需要任何配置就可以通过运行在Docker主机上的容器来监控Docker容器,而且可以监控Docker主机。更多详细操作和配置选项可以查看Github上的cAdvisor项目文档。
它是一个分布式时间序列数据库。cAdvisor仅仅显示实时信息,但是不存储监视数据。因此,我们需要提供时序数据库用于存储cAdvisor组件所提供的监控信息,以便显示除实时信息之外的时序数据。
可视化展示平台允许我们可视化地展示监控信息。它允许我们对influxDB进行查询,并通过强大的图表功能进行可视化展示。
docker network create monitor
docker run -d \--name influxdb \--net monitor \-p 8083:8083 \-p 8086:8086 \tutum/influxdb
influxdb提供了默认的8083端口的图形页面管理接口,可以通过访问8083端口来管理数据库。
然后在influxdb中创建一个数据库供后面cadvisor存储数据:
接着在其中创建一个用户供grafana访问influxdb:
docker run -d \--name=cadvisor \--net monitor \-p 8081:8080 \--mount type=bind,src=/,dst=/rootfs,ro \--mount type=bind,src=/var/run,dst=/var/run \--mount type=bind,src=/sys,dst=/sys,ro \--mount type=bind,src=/var/lib/docker/,dst=/var/lib/docker,ro \google/cadvisor \-storage_driver=influxdb \-storage_driver_db=cadvisor \-storage_driver_host=influxdb:8086
这里将宿主机上的一些目录挂载到了cAdvisor中,所以cAdvisor就是通过系统文件来获取容器信息的。同时还指定了存储数据的influxdb的端口。
cAdvisor也提供了一个简单的页面,这里访问8081端口可以查看。
docker run -d \--name grafana \--net monitor \-p 3000:3000 \grafana/grafana
创建好后通过访问3000端口来进入grafana的图形页面,默认账户和密码是admin/admin
然后在其中添加数据源
下面创建一个空的dashboard来展示数据:
可以根据自身的需求添加各种类型的图像。