cAdvisor0.24.1+InfluxDB0.13+Grafana4.0.2搭建Docker1.12.3 Swarm集群性能监控平台

本文介绍了如何使用cAdvisor、InfluxDB和Grafana搭建Docker 1.12.3 Swarm集群的性能监控平台。详细步骤包括创建overlay网络、安装InfluxDB 0.13、cAdvisor 0.24.1和Grafana,以及配置监控数据源和各项性能指标,如文件系统、CPU、内存和网络流量。
摘要由CSDN通过智能技术生成

目录

1、基本概念

​ 既然是对Docker的容器进行监控,我们就不自己单独搭建cAdvisor、InfluxDB、Grarana了,本文中这三个实例,主要以Docker容器方式运行。

本文中的案例会有四台机器,他们的Host和IP地址如下,四台机器的集群搭建可以参考<Centos7的安装、Docker1.12.3的安装,以及Docker Swarm集群的简单实例>

c1 -> 10.0.0.31
c2 -> 10.0.0.32
c3 -> 10.0.0.33
c4 -> 10.0.0.34

1.1、什么是cAdvisor?

cAdvisor 为Docker容器用户提供了了解运行时容器资源使用和性能特征的工具。cAdvisor的容器抽象基于Google的lmctfy容器栈,因此原生支持Docker容器并能够“开箱即用”地支持其他的容器类型。cAdvisor部署为一个运行中的daemon,它会收集、聚集、处理并导出运行中容器的信息。这些信息能够包含容器级别的资源隔离参数、资源的历史使用状况、反映资源使用和网络统计数据完整历史状况的柱状图。

1.2、什么是InfluxDB?

InfluxDB 是一个开源分布式时序、事件和指标数据库。使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。

其主要特色功能

  • 基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等)
  • 可度量性:你可以实时对大量数据进行计算
  • 基于事件:它支持任意的事件数据

    InfluxDB的主要特点

  • 无结构(无模式):可以是任意数量的列

  • 可拓展的
  • 支持min, max, sum, count, mean, median 等一系列函数,方便统计
  • 原生的HTTP支持,内置HTTP API
  • 强大的类SQL语法
  • 自带管理界面,方便使用

1.3、什么是Grafana?

Graphite 是一款开源的监控绘图工具。可以实时收集、存储、显示时间序列类型的数据(time series data),有些类似Kibana的东西。

以下是官方的说明

  • 用于可视化大型测量数据的开源程序,他提供了强大和优雅的方式去创建、共享、浏览数据。dashboard中显示了你不同metric数据源中的数据。
  • 常用于因特网基础设施和应用分析,但在其他领域也有机会用到,比如:工业传感器、家庭自动化、过程控制等等。
  • 有热插拔控制面板和可扩展的数据源,目前已经支持Graphite、Cloudwatch、Prometheus、InfluxDB、Elasticsearch。

2、开始安装Docker性能监控组件

2.1、创建一个overlay网络

​ 在docker 1.12以前, swarm集群需要一个额外的key-value存储(consul, etcd etc). 来同步网络配置, 保证所有容器在同一个网段中. 在docker 1.12已经内置了这个存储, 集成了overlay networks的支持。

​ 下面我们创建一个名为logging的overlay网络,用于后面的容器间相互通信。

➜ /Users/lion >docker network create --driver overlay logging
451negncg10ahru13hgn2k9nt
➜ /Users/lion >docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
1299968d22b6        bridge              bridge              local
60g7y3cbkdfe        docker-net          overlay             swarm
4d7292be91ca        docker_gwbridge     bridge              local
e1b111616be1        host                host                local
dxo4vcd9mig1        ingress             overlay             swarm
451negncg10a        logging             overlay             swarm
bc0a8040cae6        none                null                local

​ 在docker network ls列表中,可以看到logging网络的SCOPEswarm,表示在整个swarm集群是生效的。如果是在多台主机的集群中,overlay网络在没有被使用的时候,只会在manage节点出现,使用后会自动同步到其他节点。

2.2、安装InfluxDB 0.13

​ 我们第一个先安装 InfluxDB,在用于收集swarm性能数据

docker service create --network logging \
-p 8083:8083 -p 8086:8086 \
--mount source=influxdb-vol,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值