配置 Docker 監控系統,採集數據(cAdvisor) -> 存儲數據(InfluxDB) -> 顯示數據(Grafana)
InfluxDB
一系列 InfluxDB
學習文章,可查看 等英博客、Linux 大學相關文章
一. docker 拉取鏡像
docker pull tutum/influxdb:0.9
版本可以根據需要定義,此處默認爲 0.9
二. 啓動運行
docker run -d -p 8083:8083 -p 8086:8086 --expose 8090 --expose 8099 --name influxsrv tutum/influxdb
參數說明
-d
:容器在後臺運行-p
:將容器內端口映射到宿主機端口,格式爲 宿主機端口:容器內端口;8083
是 influxdb 的 web 管理工具端口,8086
是 influxdb 的 HTTP API 端口--expose
:可以讓容器接受外部傳入的數據--name
:容器名稱- 最後是
鏡像名稱:tag
,鏡像爲tutum/influxdb
,tag 的值如果不填默認爲latest
,也可以指定版本如tutum/influxdb:0.8.8
可以使用 docker ps -a
可以查看正在運行的 influxsrv
容器
如圖
可以打開瀏覽器輸入http://localhost:8083
訪問
三. 登入管理
輸入用戶名 root
密碼 root
,Host
可以自定這裏默認localhost
,點擊保存。
四. 命令行操作
可以使用命令行進行容器管理,啓動容器
docker run -i -t tutum/influxdb bin/bash
進入容器操作 influxdb
,可以進行一系列操作,可看教程 InfluxDB學習之InfluxDB的基本操作
cAdvisor
五. web 端操作
在登錄 influxdb
後臺數據庫管理平臺後, 創建 cAdvisor
數據庫, 用於存儲 cAdvisor
應用所獲取的實時監控數據。在 influxDB
管理界面中的 Queriy 輸入框中創建數據庫和用戶。其中界面的右下角的 Query Templates
可以快速使用相關操作語句。
1. 創建 cadvisor
數據庫
create database 'cadvisor'
查看這個數據庫的狀態
2. 安裝 cAdvisor 容器並將其鏈接到 InfluxDB 容器
sudo docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --publish=8080:8080 --detach=true --link influxsrv:influxsrv --name=cadvisor google/cadvisor:latest -storage_driver_db=influxdb -storage_driver_host=influxsrv:8086
如圖
安裝成功後,瀏覽器輸入 http://localhost:8080/
訪問,成功訪問後就可以看到在 Docker 主機和容器上收集統計信息的 cAdvisor
Grafana
六.安裝 Grafana 儀表板並將其鏈接到 InfluxDB 容器
sudo docker run -d -p 3000:3000 -e HTTP_USER=admin -e HTTP_PASS=admin -e INFLUXDB_HOST=influxsrv -e INFLUXDB_PORT=8086 -e INFLUXDB_NAME=cadvisor -e INFLUXDB_USER=root -e INFLUXDB_PASS=root --link influxsrv:influxsrv --name grafana grafana/grafana
如圖
安裝成功後,瀏覽器輸入 http://localhost:3000/
訪問 Grafana
1.登錄到 Grafana 並配置數據源
登入界面,Username 輸入admin
,Password 輸入 admin
,點擊登入即可以進入
2. 將 InfluxDB 連接到 Grafana 儀表板
成功登入後,點擊界面左上角的 Grafama 圖標,彈出菜單欄點擊數據源
3. 在 Data Source Settings 界面填寫相關信息
Data Sources /New 界面
填寫以下信息
Data Sources / New
Settings
Name:influxDB Default:yes
Type:InfluxDB
HTTP
URL:http://influxsrv:8086/
Access:proxy
Auth
Basic Auth:yes With Credentials: no
TLS Client Auth:no With CA Cert:no
Skip TLS Verification (Insecure):no
Basic Auth Details
User:admin
Password:admin
Advanced HTTP Settings
Whitelisted Cookies:none
InfluxDB Details
Database:cadvisor
User:root
Password:root
Min time interval:60s
如圖
當點擊 Save&Test
返回 Data source is working
信息的時候,表示 grafana 已經正確連接到相應的容器
七. Grafana 配置完成可視化監控
新建監控面板
填寫相關信息
關於 Grafaba 上的配置選項可查看官網教程 Using InfluxDB in Grafana
八. 使用 docker compose.yml 配置文件部署 Docker 監控系統
這裏有一份現成的 Docker 監控配置文件 docker-compose.yml
下載該文件
weget https://github.com/SCAULUG/docker-moitoring/blob/master/docker-compose.yml
在安裝目錄下執行
docker-compose -f docker-compose.yml up -d
具體可查看 Docker-monitoring
相關鏈接
Grafana: Grafana Tutorial
Grafana Play :Grafana Play Home