docker swarm集群的监控方案很多,cAdvisor+InfluxDB+Grafana方案功能强大灵活。最重要的是这个方案开源、免费、易用,是不花钱版监控方案。参考文档:https://botleg.com/stories/monitoring-docker-swarm-with-cadvisor-influxdb-and-grafana/

  • 组件说明
  1. cAdvisor:数据收集模块,需要部署在集群中的每一个节点上,当然前提条件是节点接受task。在本次实验中,共有三个节点,因为其中一个节点做过drain,不接受任何task调度,所以最后结果是部署在两个节点上。
  2. InfluxDB:数据存储模块。
  3. Grafana:数据展示模块
  • 环境准备

docker版本:18.04.0 CE。

参考https://blog.csdn.net/dkfajsldfsdfsd/article/details/79923218 创建包含三个节点的docker swarm集群。

  • 创建docker compose文件

在manager结点上创建文件,并输入如下内容:

version: '3'services:influx:image: influxdbvolumes:- influx:/var/lib/influxdbdeploy:replicas: 1placement:constraints:- node.role == managergrafana:image: grafana/grafanaports:- 0.0.0.0:80:3000volumes:- grafana:/var/lib/grafanadepends_on:- influxdeploy:replicas: 1placement:constraints:- node.role == managercadvisor:image: google/cadvisorhostname: '{{.Node.Hostname}}'command: -logtostderr -docker_only -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influx:8086volumes:- /:/rootfs:ro- /var/run:/var/run:rw- /sys:/sys:ro- /var/lib/docker/:/var/lib/docker:rodepends_on:- influxdeploy:mode: globalvolumes:influx:driver: localgrafana:driver: local
  • 部署容器栈

在manager节点上执行如下命令:

docker stack deploy -c docker-stack.yml monitor

命令返回以后并不代表task已经完成部署,需要花一些时间,运行如下命令监控容器栈的部署状态:

docker stack services monitor

如下图所示:

当红框中的数字前后匹配时,代表容器栈完成部署,再执行后序步骤。

  • 创建名称为cadvisor数据库存储数据

执行如下命令,确认monitor_cadvisor服务运行的node:

docker service ps monitor_influx

结果如下图红框所示:

登录worker2结点,执行事下指令创建数据库:

docker exec `docker ps | grep -i influx | awk '{print $1}'` influx -execute 'CREATE DATABASE cadvisor'
  • 设置Grafana

因为Grafana被部署在了worker1节点上,在浏览器中访问http://192.168.56.104:80,使用默认的用户名\密码:admin\admin,如下图:

点击"Add data source"添加数据源。如下图所示,按图中红框填写,其它项忽略:

点击"Save &Test",如果出现"Data source is working"表示数据源添加成功。

增加Dashboard配置。首先从https://github.com/botleg/swarm-monitoring/blob/master/dashboard.json下载示例配置文件,如下图所示,按提示上传配置文件:

操作完成以后,结果如下图:

至此,docker swarm集群监控系统部署完成,可以实现对宿主机及其上运行的容器的监控。在此基础上可实验其它一些功能,如自义Dashboard、自定义告警规则等。由本示例可以看出,这个方案的关键点是Dashboard配置,配置的好的话显示效果就好,非常灵活。

docker swarm集群监控方案cAdvisor+InfluxDB+Grafana实战相关推荐

  1. 【云原生】第十篇--Docker主机集群化方案 Docker Swarm

    Docker主机集群化方案 Docker Swarm 一.docker swarm介绍 二.docker swarm概念与架构 2.1 架构 2.2 概念 三.docker swarm集群部署 3.1 ...

  2. docker swarm 集群服务编排部署指南(docker stack)

    Docker Swarm 集群管理 概述 Docker Swarm 是 Docker 的集群管理工具.它将 Docker 主机池转变为单个虚拟 Docker 主机,使得容器可以组成跨主机的子网网络.D ...

  3. Docker——阿里云搭建Docker Swarm集群

    阿里云搭建Docker Swarm集群 Docker Swarm概念 环境部署 Swarm集群搭建 安装Docker 配置阿里云镜像加速 搭建集群 Raft一致性算法 Swarm集群弹性创建服务(扩缩 ...

  4. Docker Swarm集群部署

    Docker Swarm集群部署 1 方案介绍 1.1 概述 1.2 软件包 2 Swarm集群搭建 2.1 IP规划 2.2 基础配置 2.2.1 关闭SELinux 2.2.2 关闭防火墙或开放需 ...

  5. 第20 章 Docker Swarm 集群实践

    Docker Swarm 集群实践 文章目录 Docker Swarm 集群实践 **Swarm介绍** **Swarm 特点** **Swarm架构** **Swarm关键概念** 1)Swarm ...

  6. 【Docker】docker swarm集群搭建和相关命令分享

    Docker swarm 集群通过 docker cli 来创建,并通过docker cli来实现应用的部署和集群的管理. Docker swarm集群的搭建相对简单,这里使用三台虚拟机(一个管理节点 ...

  7. 微服务实战之春云与刀客(五)—— spring cloud与docker swarm集群

    概述 原文:https://yq.aliyun.com/articles/618620 微服务与docker结合是必然的趋势,本文介绍spring cloud与docker swarm集群实现微服务极 ...

  8. docker swarm集群

    docker swarm 集群 docker swarm 的概念 dockerhost主机可以主动初始化(init)成一个swarm集群,也可以加入一个已经存在的集群,这样,这个主机就成为了一个swa ...

  9. 正式环境docker部署hyperf_应用部署 - Docker Swarm 集群搭建 - 《Hyperf v1.1.1 开发文档》 - 书栈网 · BookStack...

    Docker Swarm 集群搭建 现阶段,Docker容器技术已经相当成熟,就算是中小型公司也可以基于 Gitlab.Aliyun镜像服务.Docker Swarm 轻松搭建自己的 Docker集群 ...

最新文章

  1. 如何在TVM上集成Codegen(下)
  2. Pyhton 操作MySQL数据库
  3. [linux内核]將ubuntu更新到最新的内核
  4. python小波分解与重构_小波分解和重构
  5. python 爬虫1:发送请求
  6. 禁止VirtualBox同步Guest系统的时间
  7. CommandTarget属性
  8. linux结课考试试题,Linux认证考试课后基础试题及答案
  9. java 爬楼梯算法_9.1 爬楼梯
  10. ATSHA204A加密芯片
  11. UE4数据库 Mysql
  12. msxml3.dll 执行页内操作时的错误
  13. win10卸载db2_怎么在windows下正确卸载DB2
  14. docker安装和portainer安装
  15. IDEA 项目打包成war包
  16. 如何用 Python 爬取网易云音乐歌单
  17. 使用Guardium和QRadar检测数据库漏洞
  18. 【原创】EXCEL公式经验(2)--关于count(),countif(),counta(),countifs()相关多个函数总结
  19. MyBatis 01 快速入门
  20. 无量纲处理、量纲变换与实时仿真理论

热门文章

  1. 求可以一个可以电话号码批量转微信的有这块技术的可以找我17608463612
  2. 打开excel显示文件已损坏
  3. 某Al行业四小龙之一:向空间要效率之前,向流程要效率
  4. 信噪比python代码实现
  5. 途南技术 | 微软OneNote如何导出pdf文件?不完美的小bug
  6. 神华集团陕西公司《从技术骨干到优秀管理者转变》培训圆满结束!
  7. qpython如何安装库_qpython3如何安装库
  8. oracle周转率报告,Oracle ERP系统维护经验谈
  9. 移植openharmony之添加wifi驱动
  10. Android端基于OpenCV边缘识别技术