1. 程式人生 > >利用TICK對Docker進行視覺化監控

利用TICK對Docker進行視覺化監控

效能監控是容器服務必不可少的基礎設施,容器化應用運行於宿主機上,我們需要知道該容器的執行情況,包括 CPU使用率、記憶體佔用、網路狀況以及磁碟空間等等一系列資訊。本文通過TICK 的技術棧方案實現Docker的效能監控。

一、監控結構

在這裡插入圖片描述

Telegraf: 採用外掛機制實現的資料採集服務,可以採集Docker的多種效能資料
Influxdb:時序資料庫,用於儲存Docker的效能資料
Chronograf: 基於React.js編寫的效能資料視覺化服務
Kapacitor: 提供告警和觸發功能
Docker:上述元件以容器形式執行在Docker上

二、部署服務

1、部署influxdb

influxdb的配置檔案influxdb.conf如下:

[meta]
  dir = "/var/lib/influxdb/meta"
[data]
  dir = "/var/lib/influxdb/data"
  wal-dir = "/var/lib/influxdb/wal"

啟動influxdb容器

$ docker run -d --name docker-monitor-influxdb \
  -p 8086:8086  \
  -v/home/docker/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf \ 
  -v /var/lib/influxdb:/var/lib/influxdb \ 
  docker.io/influxdb

2、部署Telegraf

telegraf的配置檔案telegraf.conf如下:

[agent]
  interval = "10s"
  round_interval = true
  metric_batch_size = 1000
  metric_buffer_limit = 10000
  collection_jitter = "0s"
  flush_interval = "10s"
  flush_jitter = "0s"
  debug = false
  quiet = false
  hostname = "www.painter_No11.cn"
  omit_hostname =
false [[outputs.influxdb]] urls = ["http://docker-monitor-influxdb:8086"] database = "telegraf" username = "" password = "" write_consistency = "any" timeout = "5s" [[inputs.docker]] endpoint = "unix:///var/run/docker.sock" container_names = [] timeout = "5s" perdevice = true total = false [[inputs.cpu]] [[inputs.system]]

啟動telegraf容器

$ docker run -d --name docker-monitor-telegraf \
  --link=docker-monitor-influxdb \ 
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /home/docker/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf \ 
  docker.io/telegraf

3、部署Chronograf

啟動Chronograf容器

$ docker run -d --name docker-monitor-chronograf \
  -p 8888:8888 --link=docker-monitor-influxdb \
  -v /var/lib/chronograf:/var/lib/chronograf docker.io/chronograf \
  --influxdb-url=http://docker-monitor-influxdb:8086 

4、部署Kapacitor

啟動Kapacitor容器

$ docker run -d --name docker-monitor-kapacitor -p 9092:9092 \
 -h=kapacitor \ 
 -e KAPACITOR_INFLUXDB_0_URLS_0=http://docker-monitor-influxdb:8086 \
 --link=docker-monitor-influxdb \
 -v /var/lib/kapacitor:/var/lib/kapacitor docker.io/kapacitor

三、監控展示

1、訪問docker容器所在主機的8888埠可以訪問Chronograf頁面,點選HOST LIST,可以檢視主機:

選中指定host點選後會跳轉到效能詳情頁面:
在這裡插入圖片描述
也可以選定HOST中某個APP進行詳情監控,如點選docker
在這裡插入圖片描述