docker swarm集群的监控方案很多,cAdvisor+InfluxDB+Grafana方案功能强大灵活。最重要的是这个方案开源、免费、易用,是不花钱版监控方案。参考文档:https://botleg.com/stories/monitoring-docker-swarm-with-cadvisor-influxdb-and-grafana/
- 组件说明
- cAdvisor:数据收集模块,需要部署在集群中的每一个节点上,当然前提条件是节点接受task。在本次实验中,共有三个节点,因为其中一个节点做过drain,不接受任何task调度,所以最后结果是部署在两个节点上。
- InfluxDB:数据存储模块。
- Grafana:数据展示模块
- 环境准备
docker版本:18.04.0 CE。
参考https://blog.csdn.net/dkfajsldfsdfsd/article/details/79923218 创建包含三个节点的docker swarm集群。
- 创建docker compose文件
在manager结点上创建文件,并输入如下内容: