InfluxDB+cAdvisor+Grafana容器管理

  • InfluxDB

InfluxDB是一個分佈式時間序列數據庫。cAdvisor僅僅顯示實時信息,但是不存儲監視數據。因此,需要提供實時數據庫用於存儲cAdvisor組件所提供的監控信息,以便顯示除實時信息之外的時序數據。

1.InfluxDB的安裝

下載鏡像

docker  pull  tutum/influxdb

創建容器

docker  run  -di  \

-p  8083:8083  \

-p  8086:8086  \

--expose  8099  \

--expose  8099  \

--name  influxsrv  \

tutum/influxdb

上面,8083端口是web訪問端口,8086是數據寫入端口。

安裝好,瀏覽器訪問192.xxx.xx.xxx:8083

2.使用influxDB

通過query  templates下拉選項可以快速使用命令語句。

創建數據庫

CREATE  DATABASE  "cadvisor"

查看所有數據庫

SHOW  DATABASES

創建用戶

CREATE  USER  "zhangsan"  WITH  PASSWORD  'password'  WITH  ALL PRIVILEGES

查看用戶

SHOW  USERS

用戶授權

grant  all  privileges  on  cadvisor  to  zhangsan

grant  write  on  cadvisor  to  zhangsan

grant  READ  on  cadvisor  to  zhangsan

查看採集的數據

切換到cadvisor數據庫,使用命令採集數據

SHOW  MEASUREMENTS

  • cAdvisor軟件

cAdvisor是google開源的用於監控基礎設施應用的工具,功能強大,不需要任何配置就可以通過運行在docker主機上的容器來監控docker容器,也可以監控docker主機。

下載鏡像

docker  pull  google/cadvisor

創建容器

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 \

  --name=cadvisor \

  google/cadvisor \

  -storage_driver=influxdb \

  -storage_driver_db=cadvisor \

  -storage_driver_host=influxsrv:8086

或者

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

cadvisor容器啓動閃退的解決方法:

mount  -o  remount,rw  '/sys/fs/cgroup'

ln  -s  /sys/fs/cgroup/cpu,cpuacct /sys/fs/cgroup/cpuacct,cpu

瀏覽器訪問192.xxx.xx.xxx:8080/containers/

在此查看influxDB,可以看到cAdvisor採集的數據。

  • Grafana

Grafana是一個可視化面板,擁有圖表和佈局展示,功能齊全的度量儀表盤和圖形編輯器。支持Graphite、zabbix、influxDB\Prometheus和OpenTSDB作爲數據源。

下載鏡像

docker  pull  grafana/grafana

創建容器

docker  run  -d  -p  3001:3000  -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://192.xxx.xx.xxx:3001用戶名和密碼都是admin

添加數據源

點擊設置,data  source,添加數據源,設置name爲influxdb,type選擇InfluxDB,url改爲192.xxx.xx.xx:8086,

數據庫設置爲cadvisor,設置用戶名和密碼。

添加儀表盤

選擇dashboards,點擊manager,點擊添加按鈕,點擊graph圖標。

新增圖表後,點擊panel title右邊的下拉選擇edit。General,修改名稱;metrics,選擇data source爲influxdb,選擇表,比如memory_usage,where條件選擇容器;Axes,修改x軸y軸。設置完畢,點擊保存,設置名稱。

預警通知設置

選擇菜單,alerting,選擇notification  channels;點擊add  channel按鈕;設置名稱,選擇類型爲webhook,url使用rancher中容器接收器的hook的地址;http方式爲POST。

在圖表中使用預警,進入圖表面板,選擇edit,點擊預警圖表,添加預警。設置IS ABOVE值,send  to選擇需要出發的預警。點擊保存。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章