docker swarm集群监控方案cAdvisor+InfluxDB+Grafana实战
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结点上创建文件,并输入如下内容:
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实战相关推荐
- 【云原生】第十篇--Docker主机集群化方案 Docker Swarm
Docker主机集群化方案 Docker Swarm 一.docker swarm介绍 二.docker swarm概念与架构 2.1 架构 2.2 概念 三.docker swarm集群部署 3.1 ...
- docker swarm 集群服务编排部署指南(docker stack)
Docker Swarm 集群管理 概述 Docker Swarm 是 Docker 的集群管理工具.它将 Docker 主机池转变为单个虚拟 Docker 主机,使得容器可以组成跨主机的子网网络.D ...
- Docker——阿里云搭建Docker Swarm集群
阿里云搭建Docker Swarm集群 Docker Swarm概念 环境部署 Swarm集群搭建 安装Docker 配置阿里云镜像加速 搭建集群 Raft一致性算法 Swarm集群弹性创建服务(扩缩 ...
- Docker Swarm集群部署
Docker Swarm集群部署 1 方案介绍 1.1 概述 1.2 软件包 2 Swarm集群搭建 2.1 IP规划 2.2 基础配置 2.2.1 关闭SELinux 2.2.2 关闭防火墙或开放需 ...
- 第20 章 Docker Swarm 集群实践
Docker Swarm 集群实践 文章目录 Docker Swarm 集群实践 **Swarm介绍** **Swarm 特点** **Swarm架构** **Swarm关键概念** 1)Swarm ...
- 【Docker】docker swarm集群搭建和相关命令分享
Docker swarm 集群通过 docker cli 来创建,并通过docker cli来实现应用的部署和集群的管理. Docker swarm集群的搭建相对简单,这里使用三台虚拟机(一个管理节点 ...
- 微服务实战之春云与刀客(五)—— spring cloud与docker swarm集群
概述 原文:https://yq.aliyun.com/articles/618620 微服务与docker结合是必然的趋势,本文介绍spring cloud与docker swarm集群实现微服务极 ...
- docker swarm集群
docker swarm 集群 docker swarm 的概念 dockerhost主机可以主动初始化(init)成一个swarm集群,也可以加入一个已经存在的集群,这样,这个主机就成为了一个swa ...
- 正式环境docker部署hyperf_应用部署 - Docker Swarm 集群搭建 - 《Hyperf v1.1.1 开发文档》 - 书栈网 · BookStack...
Docker Swarm 集群搭建 现阶段,Docker容器技术已经相当成熟,就算是中小型公司也可以基于 Gitlab.Aliyun镜像服务.Docker Swarm 轻松搭建自己的 Docker集群 ...
最新文章
- 如何在TVM上集成Codegen(下)
- Pyhton 操作MySQL数据库
- [linux内核]將ubuntu更新到最新的内核
- python小波分解与重构_小波分解和重构
- python 爬虫1:发送请求
- 禁止VirtualBox同步Guest系统的时间
- CommandTarget属性
- linux结课考试试题,Linux认证考试课后基础试题及答案
- java 爬楼梯算法_9.1 爬楼梯
- ATSHA204A加密芯片
- UE4数据库 Mysql
- msxml3.dll 执行页内操作时的错误
- win10卸载db2_怎么在windows下正确卸载DB2
- docker安装和portainer安装
- IDEA 项目打包成war包
- 如何用 Python 爬取网易云音乐歌单
- 使用Guardium和QRadar检测数据库漏洞
- 【原创】EXCEL公式经验(2)--关于count(),countif(),counta(),countifs()相关多个函数总结
- MyBatis 01 快速入门
- 无量纲处理、量纲变换与实时仿真理论