Docker微服务-CIG容器监控

一、介绍

1、问题引入

当企业级容器上升到一定规模的时候,我们必须得实时监控每个容器的状态。我们可以执行

docker stats

这个统计命令是实时的,小公司的话,容器少还可以,够用。如果想看前几天的流量监控数据,显然是没有的,这个时候就需要更强大的容器监控软件。

2、CIG出场

CIG是三个组件的缩写,即:CAdvisor监控收集、InfluxDB存储数据、Granfana展示图表。下面一一介绍下这几款软件。


1)CAdvisor
CAdvisor是一个容器资源监控,包括容器的内存,CPU,网络IO,磁盘IO等监控,同时提供了一个WEB页面用于查看容器的实时运行状态。CAdvisor默认存储2分钟的数据,,而且只是针对单物理机。
不过, CAdvisor提供了很多数据集成接口.支持InfluxDB, Redis, Kafka, Elasticsearch等集成可以加
上对应配置将监控数据发往这些数据库存储起来。
CAdvisor功能主要有两点:
    a. 展示Host和容器两个层次的监控数据。
    b. 展示历史变化数据。


2)InfluxDB
InfluxDB是用Go语言编写的一个开源分布式时序、事件和指标数据库无需外部依赖。CAdvisor默认只在本机保存最近2分钟的数据,为了持款化存储数据和统一收集展示监控数据,需要将数据存储到InfluxDB中。InfluxDB是一个时序数据库,专门用于存储时序相关数据,很适合存储CAdvisor的数据。而且, CAdvisor本身 已经提供了InfluxDB的集成方法,启动容器时指定配置即可。
InfluxDB主要功能:
    a. 基于时间序列,支持与时间有关的相关函数(如最大、最小求和等);
    b. 可度量性:你可以实时对大量数据进行计算;
    c. 基于事件:它支持任意的事件数据;


3)Granfana
Grafana是一个开源的数据监控分析可视化平台,支持多种数据源配置(支持的数据源包括InfluxDB,MySQL, Elasticsearch,OpenTSDB, Graphite等)和丰富的插件及模板功能支持图表权限控制和报警。
Grafan主要特性:
    a. 灵活丰富的图形化选项
    b. 可以混合多种风格
    c. 支持白天和夜间模式
    d. 多个数据源

二、安装

利用compose一套带走。

version: "3.1"

volumes:
  grafana_data: {}

services:
  influxdb:
    image: tutum/influxdb:0.9
    restart: always
    environment:
      - PRE_CREATE_DB=cadvisor
    ports:
      - "8083:8083"
      - "8086:8086"
    volumes:
      - /data/influxdb:/data

  cadvisor:
    image: google/cadvisor
    links:
      - influxdb:influxsrv
    command: -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxsrv:8086
    restart: always
    ports:
     - "8080:8080"
    volumes:
      - /:/rootfs:ro
      - /var/run:/var/run:rw
      - /sys:/sys:ro
      - /var/lib/docker:/var/ib/docker:ro

  grafana:
    user: "104"
    image: grafana/grafana
    user: "104"
    restart: always
    links:
      - influxdb:influxsrv
    ports:
      - "3000:3000"
    volumes:
      - grafana_data:/var/lib/grafana
    environment:
      - HTTP_USER=admin
      - HTTP_PASS=admin
      - INFLUXDB_HOST=influxsrv
      - INFLUXDB_PORT=8086
      - INFLUXDB_NAME=cadvisor
      - INFLUXDB_USER=root
      - INFLUXDB_PASS=root

1、访问cadvisor:http://192.168.186.129:8080/

Docker微服务-CIG容器监控_第1张图片

 2、访问influxdb:http://192.168.186.129:8083/

Docker微服务-CIG容器监控_第2张图片

 3、访问grafaner http://192.168.186.129:3000/

Docker微服务-CIG容器监控_第3张图片

 三、配置

1、在grafaner里配置数据源

Docker微服务-CIG容器监控_第4张图片Docker微服务-CIG容器监控_第5张图片

 输入信息点击save&test,出现绿色提示就完成了

2、配置panel

然后找 add panel进来后,下面右图中的查找选择的图表展示形式。

Docker微服务-CIG容器监控_第6张图片Docker微服务-CIG容器监控_第7张图片

Docker微服务-CIG容器监控_第8张图片

 Docker微服务-CIG容器监控_第9张图片

 配置完成后就可以看到展示的数据了

Docker微服务-CIG容器监控_第10张图片

 

你可能感兴趣的:(Docker,docker,容器,运维)