使用InfluxDB+cAdvisor+Grafana配置Docker監控

文檔來源

Docker監控簡介

我們提供的Docker主機和容器越來越多,對Docker服務器和容器的監控越來越必要。本文將引導你了解如何通過多個不同組件的配置和協作,以實現Docker監控。

Docker監控組件

首先, 我們假設在您的主機上已經安裝、配置和運行Docker Engine。請確保您可以通過Web瀏覽器在本地或者通過網絡IP連接到Docker主機。以下我們將詳細介紹如何創建我們的Docker監控方案。

  • cAdvisor: Google開源的用于監控基礎設施應用的工具,它是一個強大的監控工具,不需要任何配置就可以通過運行在Docker主機上的容器來監控Docker容器,而且可以監控Docker主機。更多詳細操作和配置選項可以查看Github上的cAdvisor項目文檔。
  • influxDB: 它是一個分布式時間序列數據庫。cAdvisor僅僅顯示實時信息,但是不存儲監視數據。因此,我們需要提供時序數據庫用于存儲cAdvisor組件所提供的監控信息,以便顯示除實時信息之外的時序數據。
  • Grafana: Grafana可視化展示平臺允許我們可視化地展示監控信息。它允許我們對influxDB進行查詢,并通過強大的圖表功能進行可視化展示。

本文配置組件版本信息如下:

- InfluxDB:  V 1.0.0
- cAdvisior: V 0.24.1
- Grafana:   V 4.0.2

Docker監控安裝與配置

下面,我們將根據上述的Docker監控組件進行安裝和配置,形成統一的Docker監控平臺。

我們將首先先安裝influxDB, 以便于它能夠與cAdvisor進行協作。

1. 安裝influxDB

下載influxDB鏡像

docker pull tutum/influxdb

運行influxdb容器

docker run -d \
   -p 8083:8083 \
   -p 8086:8086 \
   --expose 8090 \
   --expose 8099 \
   --name influxsrv \
   tutum/influxdb

influxdb容器運行成功后,通過Web瀏覽器訪問http://docker-host-ip:8083訪問influxdb后臺管理,并登錄后臺管理系統(默認用戶名:root, 默認密碼:root)。

influxdb_connection_settings

2. 創建cAdvisor應用數據庫

在登錄influxdb后臺數據庫管理平臺后, 創建cAdvisor數據庫, 用于存儲cAdvisor應用所獲取的實時監控數據。在influxDB管理界面中的Querie s輸入框中創建數據庫和用戶:

create_database
# 創建數據庫
create database 'cadvisor'; 

# 創建用戶
CREATE USER 'cadvisor' WITH PASSWORD 'cadvisor'

# 用戶授權
grant all privileges on 'cadvisor' to 'cadvisor'

# 授予讀寫權限
grant WRITE on 'cadvisor' to 'cadvisor'
grant READ on 'cadvisor' to 'cadvisor'

3. 運行cAdvisor應用容器并與influxDB容器進行互聯

啟動cAdvisor容器

docker run \
  --volume=/:/rootfs:ro \
  --volume=/var/run:/var/run:rw \
  --volume=/sys:/sys:ro \
  --volume=/var/lib/docker/:/var/lib/docker:ro \
  -p 8080:8080 \
  --detach=true \ 
  --link influxsrv:influxsrv \
  --name=cadvisor \
  google/cadvisor:latest \
  -storage_driver=influxdb \
  -storage_driver_db=cadvisor \
  -storage_driver_host=influxsrv:8086

cAdvisor應用容器啟動成功后,通過Web瀏覽器訪問地址http://docker-host-ip:8080,便可以查看cAdvisor監控工具所收集到的Docker主機和容器的資源統計信息。

cAdvisor WebUI

4. 運行Grafana可視化平臺并與influxDB容器進行互聯

docker run -d \
  -p 3000:3000 \
  -e INFLUXDB_HOST=localhost \
  -e INFLUXDB_PORT=8086 \
  -e INFLUXDB_NAME=cadvisor \
  -e INFLUXDB_USER=root \ 
  -e INFLUXDB_PASS=root \
  --link influxsrv:influxsrv \
  --name grafana \
  grafana/grafana

5. 登錄Grafana管理平臺

通過Web瀏覽器訪問地址http://docker-host-ip:3000登錄Grafana管理平臺。

  • 用戶名:admin
  • 密 碼:admin
Grafana_Login

6. 配置Grafana與influxDB數據庫連接

(1). 配置Granfana數據源

在Grafana管理平臺中,單擊“添加數據源”對數據源進行配置。如下圖所示。

Add_Datasource
  • 基本信息

Name:influxdb
Type:influxDB
Default: checked

  • Http settings

Url:http://influxsrv:8086
Access:proxy

  • HTTP Auth

Basic Auth: checked

  • Basic Auth Details

User: admin
Password: admin

  • InfluxDB Details

Database:cadvisor
User:cadvisor
Password:cadvisor

配置完成后, 我們已經建立與influxDB的連接,下面我們將其進行測試。

(2). 添加Dashboard

下面我們將使用Grafana配置我們的第一個Dashboard,并可視化來自cAdvisor的監控數據。

1). 點擊“Grafana”圖標, 打開Dashboard菜單,選擇新建Dashboard;

New Dashboard

2). 在Dashboard面板中選擇相應的組件并拖動到相關的位置;

Add_Component

3). 點擊面板的標題,會彈出相應的選項"view"、"edit"、"Duplicates"、"share"和刪除按扭;

Edit Component

4). 選擇"edit"選項,出現相應的配置項,在“Metrics”選項卡中配置相應的數據表和數據源信息;

Edit_Configure

例如: 配置內存使用率信息

Edit Memory Usage

在Metric選項卡中, 配置數據表來源為:SELECT mean("value") FROM "memory_usage" WHERE $timeFilter GROUP BY time(10s) fill(0), 配置數據源Panel Datasource為:cadvisor;

在Axes選項卡中配置相關的顯示單位。

Config Axies

5). 配置完相關的選項后,點擊Dashboard導航欄的保存按鈕,便可完成Dashboard的配置。

Save Config

至此, 所有配置步驟完成, 我們能夠看到Grafana顯示相關的監控圖表信息。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,748評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,165評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 175,595評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,633評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,435評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,943評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,035評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,175評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,713評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,599評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,788評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,303評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,034評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,412評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,664評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,408評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,747評論 2 370

推薦閱讀更多精彩內容