目錄
- 目錄
- 基礎概念
- cAdvisor
- InfluxDB
- Grafana
- 鏡像清單
- 啟動腳本
- influxdb 設定
- cAdvisor
- Grafana 圖形配置
- 示例圖請右鍵打開新标簽檢視原圖
- 參考連結
- 基礎概念
基礎概念
cAdvisor
cAdvisor 為Docker容器使用者提供了了解運作時容器資源使用和性能特征的工具。cAdvisor的容器抽象基于Google的lmctfy容器棧,是以原生支援Docker容器并能夠“開箱即用”地支援其他的容器類型。cAdvisor部署為一個運作中的daemon,它會收集、聚集、處理并導出運作中容器的資訊。這些資訊能夠包含容器級别的資源隔離參數、資源的曆史使用狀況、反映資源使用和網絡統計資料完整曆史狀況的柱狀圖。
InfluxDB
InfluxDB 是一個開源分布式時序、事件和名額資料庫。使用 Go 語言編寫,無需外部依賴。其設計目标是實作分布式和水準伸縮擴充.
- 其主要特色功能
- 基于時間序列,支援與時間有關的相關函數(如最大,最小,求和等)
- 可度量性:你可以實時對大量資料進行計算
- 基于事件:它支援任意的事件資料
InfluxDB的主要特點
- 無結構(無模式):可以是任意數量的列可拓展的
- 支援min, max, sum, count, mean, median 等一系列函數,友善統計
- 原生的HTTP支援,内置HTTP API
- 強大的類SQL文法
- 自帶管理界面,友善使用
Grafana
Graphite 是一款開源的監控繪圖工具。可以實時收集、存儲、顯示時間序列類型的資料(time series data),有些類似Kibana的東西。
- 以下是官方的說明
- 用于可視化大型測量資料的開源程式,他提供了強大和優雅的方式去建立、共享、浏覽資料。dashboard中顯示了你不同metric資料源中的資料。
- 常用于網際網路基礎設施和應用分析,但在其他領域也有機會用到,比如:工業傳感器、家庭自動化、過程控制等等。
- 有熱插拔控制台和可擴充的資料源,目前已經支援Graphite、Cloudwatch、Prometheus、InfluxDB、Elasticsearch。
鏡像清單
[[email protected] workdir]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry latest e6ba8c hours ago MB
grafana/grafana . weeks ago MB
jevic.io/nginx alpine d964ab5d0abe weeks ago MB
google/cadvisor fejta fe153dd2defc weeks ago MB
jevic.io/cadvisor fejta fe153dd2defc weeks ago MB
jevic.io/influxdb fa42a093e0 months ago MB
tutum/influxdb fa42a093e0 months ago MB
提示:請勿下載下傳使用 influxdb:latest 鏡像
啟動腳本:
[[email protected] workdir]# cat influxdb.sh
#!/bin/bash
docker service create \
--network jevic-io \
-p : \
-p : \
--mount source=influxdb-vol,type=volume,target=/var/lib/influxdb \
--name=influxdb \
--constraint 'node.hostname==node01' \
jevic.io/influxdb:
[[email protected] workdir]# cat cadvisor.sh
#!/bin/bash
docker service create \
--network jevic-io \
--name cadvisor \
-p : \
--mode global \ #為每個節點建立一個服務,收集節點docker性能資料
--mount source=/var/run,type=bind,target=/var/run,readonly=false \
--mount source=/,type=bind,target=/rootfs,readonly=true \
--mount source=/sys,type=bind,target=/sys,readonly=true \
--mount source=/var/lib/docker,type=bind,target=/var/lib/docker,readonly=true \
jevic.io/cadvisor:fejta -storage_driver=influxdb -storage_driver_host=influxdb: -storage_driver_db=cadvisor
[[email protected] workdir]# cat grafana.sh
#!/bin/bash
docker service create \
--network jevic-io \
--name grafana \
#-e "GF_SECURITY_ADMIN_PASSWORD=passwd" \
--constraint 'node.hostname==master' \
-p : \
grafana/grafana:.
influxdb 設定
- 通路 8083端口 使用者名密碼預設都為 root
- 建立資料庫并檢視
- CREATE DATABASE “cadvisor”
- SHOW DATABASES
cAdvisor
- cdvisor運作以後,可以通過http://192.168.11.140:8080/ 檢視到Docker運作的機器和容器狀态
- 通過http://192.168.11.140:8080/docker/,可以看到Docker伺服器的基本資訊,如Host、鏡像資料、視窗資料等情況
Grafana 圖形配置
- 運作Grfana容器,通過浏覽器打開http://192.168.11.130:3000,使用者名admin,密碼admin
- 配置資料源
示例圖【請右鍵打開新标簽檢視原圖】
參考連結
- http://docs.grafana.org
- https://www.brianchristner.io/how-to-setup-docker-monitoring/
- https://github.com/google/cadvisor
- https://github.com/vegasbrianc/docker-monitoring
- 五個Docker監控工具的對比