influxDB與cAdvisor與Grafana
三者之間的關係
cadvisor負責監控docker容器的狀態,並將cadvisor監控到的狀態寫入到influxdb資料庫中,grafana負責將influxdb中的資料讀出來並通過圖形化的介面展示出來
什麼是influxDB
influxDB是一個分散式時間序列資料庫。cAdvisor僅僅顯示實時資訊,但是不儲存監視資料。因此,我們需要提供時序資料庫用於儲存cAdvisor元件所提供的監控資訊,以便顯示除實時資訊之外的時序資料。
安裝influxDB
- 下載映象
docker pull tutum/influxdb
2.建立容器
docker run - di \
-p 8083:8083 \
-p 8086:8086 \
--expose 8090 \
--expose 8099 \
--name influxsrv \
tutum/influxdb
埠概述: 8083埠:web訪問埠 8086:資料寫入埠
常用操作
- 建立資料庫
CREATE DATABASE "cadvisor"
2.檢視資料庫
SHOW DATABASES
3.建立使用者
CREATE USER "cadvisor" WITH PASSWORD 'cadvisor' WITH ALL PRIVILEGES
4.檢視使用者
SHOW USRES
5.使用者授權
grant all privileges on cadvisor to cadvisor
grant WRITE on cadvisor to cadvisor
grant READ on cadvisor to cadvisor
6.切換到建立的cadvisor的資料庫,檢視採集的資料
SHOW MEASUREMENTS
什麼是sAdvisor
Google開源的用於監控基礎設施應用的工具,它是一個強大的監控工具,不需要任何配置就可以通過執行在Docker主機上的容器來監控Docker容器,而且可以監控Docker主機。更多詳細操作和配置選項可以檢視Github上的cAdvisor專案文件。
- 下載映象
docker pull google/cadvisor
2.建立容器
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 -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxsrv:8086
-volume=/var/run:/var/run:rw:表示目錄掛載,相當於-v
–publish=8080:8080:相當於-p,埠對映
influxsrv:influxsrv:表示剛剛建立的infludb容器的名稱
-storage_driver=influxdb:表示儲存的連線的資料庫為influxdb
-storage_driver_db=cadvisor:表示儲存的資料庫名稱為cadvisor
WEB前端訪問地址
http://192.168.56.133:8080/containers/
效能指標含義參照如下地址
https://blog.csdn.net/ZHANG_H_A/article/details/53097084
再次檢視influxDB,發現已經有很多資料被採集進去了。
什麼是Grafana
Grafana是一個視覺化面板(Dashboard),有著非常漂亮的圖表和佈局展示,功能齊全的度量儀表盤和圖形編輯器。支援Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作為資料來源。
Grafana主要特性:靈活豐富的圖形化選項;可以混合多種風格;支援白天和夜間模式;多個數據源。
安裝Grafana
- 下載映象
docker pull grafana/grafana
2.建立容器
docker run -d -p 3001:3000 -e INFLUXDB_HOST=influxsrv -e INFLUXDB_PORT=8086 -e INFLUXDB_NAME=cadvisor -e INFLUXDB_USER=cadvisor -e INFLUXDB_PASS=cadvisor --link influxsrv:influxsrv --name grafana grafana/grafana
3.訪問grafana
http://192.168.56.133:3001
4.新增資料庫
5.新增儀表盤,新增DashBoard→manager
6.新增預警通知
選擇選單 alerting–> Notification channels
新增鉤子地址→點選SendTest 測試 此時微服務容器數量會增加
儀表盤預警設定
1.再次開啟剛剛編輯的儀表盤
2.點選 Create Alert ,設定預警線
3.選擇通知,編輯通知資訊