您的位置:首页 > 运维架构 > Docker

Docker 集群监控平台---cAdvisor-InfluxDB-Grafana

2016-12-29 18:32 976 查看

目录

目录
基础概念
cAdvisor

InfluxDB

Grafana

镜像列表

启动脚本

influxdb 设置

cAdvisor

Grafana 图形配置

示例图请右键打开新标签查看原图

参考链接

基础概念

cAdvisor

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

InfluxDB

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

其主要特色功能

基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等)

可度量性:你可以实时对大量数据进行计算

基于事件:它支持任意的事件数据

​InfluxDB的主要特点

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

支持min, max, sum, count, mean, median 等一系列函数,方便统计

原生的HTTP支持,内置HTTP API

强大的类SQL语法

自带管理界面,方便使用

Grafana

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

​- 以下是官方的说明

用于可视化大型测量数据的开源程序,他提供了强大和优雅的方式去创建、共享、浏览数据。dashboard中显示了你不同metric数据源中的数据。

常用于因特网基础设施和应用分析,但在其他领域也有机会用到,比如:工业传感器、家庭自动化、过程控制等等。

有热插拔控制面板和可扩展的数据源,目前已经支持Graphite、Cloudwatch、Prometheus、InfluxDB、Elasticsearch。

镜像列表

[root@master workdir]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
registry            latest              182810e6ba8c        36 hours ago        37.6 MB
grafana/grafana     4.0.2               757396810071        2 weeks ago         268.2 MB
jevic.io/nginx      alpine              d964ab5d0abe        4 weeks ago         54.89 MB
google/cadvisor     fejta               fe153dd2defc        5 weeks ago         736.7 MB
jevic.io/cadvisor   fejta               fe153dd2defc        5 weeks ago         736.7 MB
jevic.io/influxdb   0.13                39fa42a093e0        5 months ago        290.3 MB
tutum/influxdb      0.13                39fa42a093e0        5 months ago        290.3 MB
提示:请勿下载使用 influxdb:latest 镜像


启动脚本:

[root@master workdir]# cat influxdb.sh
#!/bin/bash
docker service create \
--network jevic-io \
-p 8083:8083 \
-p 8086:8086 \
--mount source=influxdb-vol,type=volume,target=/var/lib/influxdb \
--name=influxdb \
--constraint 'node.hostname==node01' \
jevic.io/influxdb:0.13

[root@master workdir]# cat cadvisor.sh
#!/bin/bash
docker service create \
--network jevic-io \
--name cadvisor \
-p 8080:8080 \
--mode global \  #为每个节点创建一个服务,收集节点docker性能数据
--mount source=/var/run,type=bind,target=/var/run,readonly=false \
--mount source=/,type=bind,target=/rootfs,readonly=true \
--mount source=/sys,type=bind,target=/sys,readonly=true \
--mount source=/var/lib/docker,type=bind,target=/var/lib/docker,readonly=true \
jevic.io/cadvisor:fejta -storage_driver=influxdb -storage_driver_host=influxdb:8086 -storage_driver_db=cadvisor

[root@master workdir]# cat grafana.sh
#!/bin/bash
docker service create \
--network jevic-io \
--name grafana \
#-e "GF_SECURITY_ADMIN_PASSWORD=passwd" \
--constraint 'node.hostname==master' \
-p 3000:3000 \
grafana/grafana:4.0.2


influxdb 设置

访问 8083端口 用户名密码默认都为 root



创建数据库并查看

CREATE DATABASE “cadvisor”

SHOW DATABASES





cAdvisor

cdvisor运行以后,可以通过http://192.168.11.140:8080/ 查看到Docker运行的机器和容器状态



通过http://192.168.11.140:8080/docker/,可以看到Docker服务器的基本信息,如Host、镜像数据、窗口数据等情况



Grafana 图形配置

运行Grfana容器,通过浏览器打开http://192.168.11.130:3000,用户名admin,密码admin

配置数据源



示例图【请右键打开新标签查看原图】







参考链接

http://docs.grafana.org

https://www.brianchristner.io/how-to-setup-docker-monitoring/

https://github.com/google/cadvisor

https://github.com/vegasbrianc/docker-monitoring

五个Docker监控工具的对比
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息