在Portainer中部署Docker监控系统(cAdvisor+InfluxDB+Grafana)

julien 2018-11-16

在Coreos系统中我们一般利用Portainer容器来管理Docker,可以看我的其他文章(coreos和portainer都有讲到过)

全容器化的部署方式下,我们可以利用cAdvisor+InfluxDB+Grafana实现对主机和Docker的各项指标的监控。

组件简介

cAdvisor:用于数据采集

cadvisor谷歌公司自己用来监控他们基础设施的一款工具,这个工具厉害之处不仅能监控docker容器的实时信息,而且还能将你的cadvisor这容器所在的主机的系统的实时信息,但是由于cadvisor只是能监控到实时的信息而不能保存。

InfluxDB:用于数据存储

InfluxDB 是用 Go 语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。所以我们要使用 influxdb 将这些实时监控到的信息存放起来。

Grafana: 用于数据展示

Grafana 是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持 Graphite、zabbix、InfluxDB、Prometheus 和 OpenTSDB 作为数据源。

部署过程

在Portainer中进行可视化部署。

首先我们先建立一个自定义的网络

在Portainer中部署Docker监控系统(cAdvisor+InfluxDB+Grafana)

然后我们逐一部署容器

部署InfluxDB容器

在Portainer中部署Docker监控系统(cAdvisor+InfluxDB+Grafana)

设置网络

在Portainer中部署Docker监控系统(cAdvisor+InfluxDB+Grafana)

重启规则和数据卷自行配置即可,不再多说了。

配置好后,部署即可。

配置InfluxDB

现在可以通过浏览器去访问influxdb的管理端了(8083端口)

创建cadvisor的数据库与用户,这个用于后期配置granfa

CREATE DATABASE "cadvisor"

输入后回车即可

在Portainer中部署Docker监控系统(cAdvisor+InfluxDB+Grafana)

创建管理用户

CREATE USER "username" WITH PASSWORD 'password' WITH ALL PRIVILEGES

不创建用户也可以,默认用户名和密码是root

部署cAdvisor容器

在Portainer中部署Docker监控系统(cAdvisor+InfluxDB+Grafana)

设置网络

在Portainer中部署Docker监控系统(cAdvisor+InfluxDB+Grafana)

然后设置自动参数!!!重要!!!

在Portainer中部署Docker监控系统(cAdvisor+InfluxDB+Grafana)

默认influxdb的用户名和密码是root/root

如果不是则需要指定:

--storage_driver_user=root
--storage_driver_password=root

然后我们配置数据挂载点:

在Portainer中部署Docker监控系统(cAdvisor+InfluxDB+Grafana)

注意只读属性设置!

配置好后部署即可。

部署Grafana容器

在Portainer中部署Docker监控系统(cAdvisor+InfluxDB+Grafana)

配置网络:

在Portainer中部署Docker监控系统(cAdvisor+InfluxDB+Grafana)

配置好后,部署即可。

在Portainer中部署Docker监控系统(cAdvisor+InfluxDB+Grafana)

如果一切正常,我们可以在InfluxDB上看见新建的表:

在Portainer中部署Docker监控系统(cAdvisor+InfluxDB+Grafana)

配置Grafana

默认用户名和密码都是admin,第一次登陆后会要求修改密码。

然后我们先添加数据源,然后就可以添加监控指标和图表了。

具体使用和指标设置部分以后会详细说明。

在Portainer中部署Docker监控系统(cAdvisor+InfluxDB+Grafana)

以上就是一整套的监控服务的部署和基础配置了。

相关推荐