随着docker容器云的广泛应用,大量的业务软件运行在容器中,这使得对docker容器的监控越来越重要,具体监控指标总结如下:
首先是容器本身资源使用情况:cpu,内存,网络,磁盘
然后物理机的资源使用情况:cpu,内存,网络,磁盘
物理机上容器镜像情况,名字,大小,版本。
现下较为流行的监控工具有DockerStats、CAdvisor、Scout、Data Dog以及Sensu。应用场景的不同,各监控工具的优缺点体现的也有所不同。
docker stats是docker本身提供的用于监控容器资源使用情况,直接输入命令行即可查看,还可提供远程api接口,易于操作,但没有图形界面。CAdvisor可提供数据的可视化界面,并且可监控容器所在宿主机中的资源使用情况,只监控于单一主机。Scout可聚合多主机容器的监控,并且可以提供告警,但无法显示容器的详细信息,更多的是偏向于主机资源的监控,为收费项目。Datadog监控功能较为强大,可以获得运行和停止的容器计数以及镜像数量等,可整合集群主机数据和容器数据,使用成本也较大。Sensu监控部署较为复杂。
Metricbeat是elastic下的项目,在5.1及之后的版本中支持对docker的监控,需与EK配合使用。
本文介绍使用cadvisor实现对容器环境的监控。
CAdvisor是谷歌开发的用于分析运行中容器的资源占用和性能指标的开源工具。CAdvisor是一个运行时的守护进程,负责收集、聚合、处理和输出运行中容器的信息。
一、安装运行:
直接使用容器方式运行cadvi