使用InfluxDB+cAdvisor+Grafana配置Docker監(jiān)控

文檔來源

Docker監(jiān)控簡介

我們提供的Docker主機和容器越來越多针炉,對Docker服務器和容器的監(jiān)控越來越必要鲤看。本文將引導你了解如何通過多個不同組件的配置和協(xié)作,以實現(xiàn)Docker監(jiān)控。

Docker監(jiān)控組件

首先, 我們假設在您的主機上已經(jīng)安裝碍岔、配置和運行Docker Engine。請確保您可以通過Web瀏覽器在本地或者通過網(wǎng)絡IP連接到Docker主機朵夏。以下我們將詳細介紹如何創(chuàng)建我們的Docker監(jiān)控方案蔼啦。

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

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

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

Docker監(jiān)控安裝與配置

下面卖局,我們將根據(jù)上述的Docker監(jiān)控組件進行安裝和配置斧蜕,形成統(tǒng)一的Docker監(jiān)控平臺。

我們將首先先安裝influxDB, 以便于它能夠與cAdvisor進行協(xié)作砚偶。

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后臺管理,并登錄后臺管理系統(tǒng)(默認用戶名:root, 默認密碼:root)染坯。

influxdb_connection_settings

2. 創(chuàng)建cAdvisor應用數(shù)據(jù)庫

在登錄influxdb后臺數(shù)據(jù)庫管理平臺后均芽, 創(chuàng)建cAdvisor數(shù)據(jù)庫, 用于存儲cAdvisor應用所獲取的實時監(jiān)控數(shù)據(jù)单鹿。在influxDB管理界面中的Querie s輸入框中創(chuàng)建數(shù)據(jù)庫和用戶:

create_database
# 創(chuàng)建數(shù)據(jù)庫
create database 'cadvisor'; 

# 創(chuàng)建用戶
CREATE USER 'cadvisor' WITH PASSWORD 'cadvisor'

# 用戶授權(quán)
grant all privileges on 'cadvisor' to 'cadvisor'

# 授予讀寫權(quán)限
grant WRITE on 'cadvisor' to 'cadvisor'
grant READ on 'cadvisor' to 'cadvisor'

3. 運行cAdvisor應用容器并與influxDB容器進行互聯(lián)

啟動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監(jiān)控工具所收集到的Docker主機和容器的資源統(tǒng)計信息仲锄。

cAdvisor WebUI

4. 運行Grafana可視化平臺并與influxDB容器進行互聯(lián)

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數(shù)據(jù)庫連接

(1). 配置Granfana數(shù)據(jù)源

在Grafana管理平臺中,單擊“添加數(shù)據(jù)源”對數(shù)據(jù)源進行配置儒喊。如下圖所示镣奋。

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

配置完成后, 我們已經(jīng)建立與influxDB的連接怀愧,下面我們將其進行測試侨颈。

(2). 添加Dashboard

下面我們將使用Grafana配置我們的第一個Dashboard,并可視化來自cAdvisor的監(jiān)控數(shù)據(jù)芯义。

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

New Dashboard

2). 在Dashboard面板中選擇相應的組件并拖動到相關(guān)的位置扛拨;

Add_Component

3). 點擊面板的標題耘分,會彈出相應的選項"view"、"edit"鬼癣、"Duplicates"陶贼、"share"和刪除按扭啤贩;

Edit Component

4). 選擇"edit"選項待秃,出現(xiàn)相應的配置項,在“Metrics”選項卡中配置相應的數(shù)據(jù)表和數(shù)據(jù)源信息痹屹;

Edit_Configure

例如: 配置內(nèi)存使用率信息

Edit Memory Usage

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

在Axes選項卡中配置相關(guān)的顯示單位暖庄。

Config Axies

5). 配置完相關(guān)的選項后聊替,點擊Dashboard導航欄的保存按鈕,便可完成Dashboard的配置培廓。

Save Config

至此惹悄, 所有配置步驟完成, 我們能夠看到Grafana顯示相關(guān)的監(jiān)控圖表信息肩钠。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末泣港,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子价匠,更是在濱河造成了極大的恐慌当纱,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件踩窖,死亡現(xiàn)場離奇詭異坡氯,居然都是意外死亡,警方通過查閱死者的電腦和手機洋腮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門箫柳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人啥供,你說我怎么就攤上這事滞时。” “怎么了滤灯?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵坪稽,是天一觀的道長。 經(jīng)常有香客問我鳞骤,道長窒百,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任豫尽,我火速辦了婚禮篙梢,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘美旧。我一直安慰自己渤滞,他們只是感情好,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布榴嗅。 她就那樣靜靜地躺著妄呕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嗽测。 梳的紋絲不亂的頭發(fā)上绪励,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天肿孵,我揣著相機與錄音,去河邊找鬼疏魏。 笑死停做,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的大莫。 我是一名探鬼主播蛉腌,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼只厘!你這毒婦竟也來了眉抬?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤懈凹,失蹤者是張志新(化名)和其女友劉穎蜀变,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體介评,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡库北,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了们陆。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寒瓦。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖坪仇,靈堂內(nèi)的尸體忽然破棺而出杂腰,到底是詐尸還是另有隱情,我是刑警寧澤椅文,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布喂很,位于F島的核電站,受9級特大地震影響皆刺,放射性物質(zhì)發(fā)生泄漏少辣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一羡蛾、第九天 我趴在偏房一處隱蔽的房頂上張望漓帅。 院中可真熱鬧,春花似錦痴怨、人聲如沸忙干。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捐迫。三九已至,卻和暖如春珠移,著一層夾襖步出監(jiān)牢的瞬間弓乙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工钧惧, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留暇韧,地道東北人。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓浓瞪,卻偏偏與公主長得像懈玻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子乾颁,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容