利用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
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Loiterer_Y/article/details/85102473