在Portainer中部署Docker監控系統(cAdvisor+InfluxDB+Grafana)

在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中進行可視化部署。

首先我們先建立一個自定義的網絡

然後我們逐一部署容器

部署InfluxDB容器

設置網絡

重啟規則和數據卷自行配置即可,不再多說了。

配置好後,部署即可。

配置InfluxDB

現在可以通過瀏覽器去訪問influxdb的管理端了(8083端口)

創建cadvisor的數據庫與用戶,這個用於後期配置granfa

CREATE DATABASE "cadvisor"

輸入後回車即可

創建管理用戶

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

不創建用戶也可以,默認用戶名和密碼是root

部署cAdvisor容器

設置網絡

然後設置自動參數!!!重要!!!

默認influxdb的用戶名和密碼是root/root

如果不是則需要指定:

--storage_driver_user=root
--storage_driver_password=root

然後我們配置數據掛載點:

注意只讀屬性設置!

配置好後部署即可。

部署Grafana容器

配置網絡:

配置好後,部署即可。

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

配置Grafana

默認用戶名和密碼都是admin,第一次登陸後會要求修改密碼。

然後我們先添加數據源,然後就可以添加監控指標和圖表了。

具體使用和指標設置部分以後會詳細說明。

以上就是一整套的監控服務的部署和基礎配置了。