Docker 容器监控环境(Influxdb + Cadvisor + Grafana)搭建

       由于服务器环境上运行的Docker容器比较多,有时候一些容器的运行情况需要监控,特别是生产环境下的容器监控,这个时候我们安装Influxdb + Cadvisor + Grafana服务特别有用。

一、Influxdb 用于数据存储

      InfluxDB 是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。所以我们要使用influxdb将这些实时监控到的信息存放起来。

二、Cadvisor 收集容器监控数据

1、InfluxDB主要特点


    无结构(无模式)
    可以是任意数量的列
    支持min, max, sum, count, mean, median 等一系列函数,方便统计
    原生的HTTP支持,内置HTTP API
    强大的类SQL语法
    自带管理界面,方便使用

三、Grafana 图表监控数据展示

      Grafana是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器

 

四、基于Docker的InfluxDB服务部署

root@QT-SERVER-11:~# docker run -d --name influxdb -p 28083:8083 -p 28086:8086 tutum/influxdb
2f3f6a030b9e62482d457a09f680723c0b1c60b4679fce11eacad13a20f50404
root@QT-SERVER-11:~# docker ps
CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS                 PORTS                                                                                                                       NAMES
2f3f6a030b9e        tutum/influxdb                        "/run.sh"                6 seconds ago       Up 5 seconds           0.0.0.0:28083->8083/tcp, 0.0.0.0:28086->8086/tcp                                                                            influxdb
22c24d2f797a        rancher/scheduler:v0.8.3              "/.r/r /rancher-en..."   10 hours ago        Up 10 hours                                                                                                                                        r-scheduler-scheduler-1-ea5bb5d3
6c5e46db218a        hyper/docker-registry-web             "start.sh"               28 hours ago        Up 26 hours            0.0.0.0:28080->8080/tcp                                                                                                     registry-web
1bff5a4925b7        rancher/net:v0.13.11                  "/rancher-entrypoi..."   5 weeks ago         Up 10 days                                                                                                                                         r-ipsec-ipsec-router-1-f13c299f
cfef2f6427f5        rancher/net:v0.13.11                  "/rancher-entrypoi..."   5 weeks ago         Up 10 days                                                                                                                                         r-ipsec-ipsec-connectivity-check-1-5563eaa9
984158ce5bb4        rancher/net:holder                    "/.r/r /rancher-en..."   5 weeks ago         Up 10 days                                                                                                                                         r-ipsec-ipsec-1-15296286
120f9b0afe84        rancher/healthcheck:v0.3.6            "/.r/r /rancher-en..."   5 weeks ago         Up 10 days                                                                                                                                         r-healthcheck-healthcheck-1-edcd9fc2
c3e1841892fc        rancher/dns:v0.17.3                   "/rancher-entrypoi..."   6 months ago        Up 10 days                                                                                                                                         r-network-services-metadata-dns-1-e1adba1e
0d4441507017        rancher/metadata:v0.10.2              "/rancher-entrypoi..."   6 months ago        Up 10 days                                                                                                                                         r-network-services-metadata-1-1f9b0961
cf4ae5be7db9        rancher/net:v0.13.11                  "/rancher-entrypoi..."   6 months ago        Up 10 days                                                                                                                                         r-ipsec-cni-driver-1-6fb955ae
0b509384c103        rancher/network-manager:v0.7.20       "/rancher-entrypoi..."   6 months ago        Up 10 days                                                                                                                                         r-network-services-network-manager-1-f4da073c
8b1d69d5c4ae        rancher/agent:v1.2.10                 "/run.sh run"            6 months ago        Up 10 days                                                                                                                                         rancher-agent
d5016c17b6f4        rancher/server                        "/usr/bin/entry /u..."   6 months ago        Up 10 days             3306/tcp, 0.0.0.0:23808->8080/tcp                                                                                           vigilant_mahavira
46da3197826a        registry:2                            "/entrypoint.sh /e..."   6 months ago        Up 10 days             0.0.0.0:5000->5000/tcp                                                                                                      registry
04dcacf517c3        showdoc                               "docker-php-entryp..."   12 months ago       Up 4 days              0.0.0.0:4999->80/tcp                                                                                                        showdoc
de58d8c1536a        gitlab/gitlab-ce:latest               "/assets/wrapper"        14 months ago       Up 10 days (healthy)   0.0.0.0:443->443/tcp, 0.0.0.0:30->22/tcp, 0.0.0.0:23000->80/tcp                                                             quantengGitlab
85b9ce08f04c        redis                                 "docker-entrypoint..."   16 months ago       Up 10 days             0.0.0.0:26379->6379/tcp                                                                                                     gallant_blackwell
b17453f09079        redis                                 "docker-entrypoint..."   16 months ago       Up 10 days             6379/tcp                                                                                                                    gcmsredis
5009a3d44c46        mysql:5.6                             "docker-entrypoint..."   16 months ago       Up 10 days             0.0.0.0:22000->3306/tcp                                                                                                     mysql-gcms-db
3b249c115ae1        mysql:5.6                             "docker-entrypoint..."   17 months ago       Up 10 days             0.0.0.0:21000->3306/tcp                                                                                                     mysql-gamemarket-db
8e734f3993a5        lscreager/docker-json-server:latest   "npm start"              19 months ago       Up 10 days             0.0.0.0:20030->3000/tcp                                                                                                     JsonServer
f96217c09cd1        mysql:5.6                             "docker-entrypoint..."   19 months ago       Up 10 days             0.0.0.0:20010->3306/tcp                                                                                                     mysql-jira-db1
a04693d391e1        idoall/jira                           "/usr/bin/supervis..."   19 months ago       Up 10 days             0.0.0.0:20015->22/tcp, 0.0.0.0:20012->8080/tcp, 0.0.0.0:20011->8085/tcp, 0.0.0.0:20014->8090/tcp, 0.0.0.0:20013->8443/tcp   jira

解释:

  1. -d  : 后台启动
  2. -p  : 端口映射(8083为InfluxDB的后台管理端口,8086为InfluxDB的数据传输端口)
  3. --name  : 容器别名
  4. 特别提示 8083端口需要映射为别的端口,否则无法访问后台管理平台,可能是我服务器环境的问题导致,后来映射了就没有任何问题了。

1.  管理平台

2. 可以在后台管理平台创建数据库,用户

3. 也可以用命令客户端创建数据库,用户

root@QT-SERVER-11:~# docker exec -it influxdb influx
Connected to http://localhost:8086 version 1.0.0
InfluxDB shell version: 1.0.0
> show databases
name: databases
---------------
name
_internal
cadvisor

> 

解释:

  1. docker exec 进入容器
  2. -it 为容器分配终端
  3. influxdb 容器名
  4. influx 进入容器执行influx命令

 

五、部署Cadvisor服务

 docker run -d \
> --name=cadvisor \
> -p 28082:8080 \
> -v /:/rootfs,ro \
> -v /var/run:/var/run \
> -v /sys:/sys,ro \
> -v /var/lib/docker/:/var/lib/docker,ro \
> google/cadvisor \
> -storage_driver=influxdb \
> -storage_driver_db=cadvisor \
> -storage_driver_host=192.168.0.11:28086
1f30e69371a0ed04c19fd1d942db1414d9085c37663cbe5a55853ec07c927140
root@QT-SERVER-11:~# docker ps
CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS                 PORTS                                                                                                                       NAMES
1f30e69371a0        google/cadvisor                       "/usr/bin/cadvisor..."   10 seconds ago      Up 9 seconds           0.0.0.0:28082->8080/tcp                                                                                                     cadvisor
2f3f6a030b9e        tutum/influxdb                        "/run.sh"                9 minutes ago       Up 9 minutes           0.0.0.0:28083->8083/tcp, 0.0.0.0:28086->8086/tcp                                                                            influxdb
22c24d2f797a        rancher/scheduler:v0.8.3              "/.r/r /rancher-en..."   10 hours ago        Up 10 hours                                                                                                                                        r-scheduler-scheduler-1-ea5bb5d3
6c5e46db218a        hyper/docker-registry-web             "start.sh"               28 hours ago        Up 27 hours            0.0.0.0:28080->8080/tcp                                                                                                     registry-web
1bff5a4925b7        rancher/net:v0.13.11                  "/rancher-entrypoi..."   5 weeks ago         Up 10 days                                                                                                                                         r-ipsec-ipsec-router-1-f13c299f
cfef2f6427f5        rancher/net:v0.13.11                  "/rancher-entrypoi..."   5 weeks ago         Up 10 days                                                                                                                                         r-ipsec-ipsec-connectivity-check-1-5563eaa9
984158ce5bb4        rancher/net:holder                    "/.r/r /rancher-en..."   5 weeks ago         Up 10 days                                                                                                                                         r-ipsec-ipsec-1-15296286
120f9b0afe84        rancher/healthcheck:v0.3.6            "/.r/r /rancher-en..."   5 weeks ago         Up 10 days                                                                                                                                         r-healthcheck-healthcheck-1-edcd9fc2
c3e1841892fc        rancher/dns:v0.17.3                   "/rancher-entrypoi..."   6 months ago        Up 10 days                                                                                                                                         r-network-services-metadata-dns-1-e1adba1e
0d4441507017        rancher/metadata:v0.10.2              "/rancher-entrypoi..."   6 months ago        Up 10 days                                                                                                                                         r-network-services-metadata-1-1f9b0961
cf4ae5be7db9        rancher/net:v0.13.11                  "/rancher-entrypoi..."   6 months ago        Up 10 days                                                                                                                                         r-ipsec-cni-driver-1-6fb955ae
0b509384c103        rancher/network-manager:v0.7.20       "/rancher-entrypoi..."   6 months ago        Up 10 days                                                                                                                                         r-network-services-network-manager-1-f4da073c
8b1d69d5c4ae        rancher/agent:v1.2.10                 "/run.sh run"            6 months ago        Up 10 days                                                                                                                                         rancher-agent
d5016c17b6f4        rancher/server                        "/usr/bin/entry /u..."   6 months ago        Up 10 days             3306/tcp, 0.0.0.0:23808->8080/tcp                                                                                           vigilant_mahavira
46da3197826a        registry:2                            "/entrypoint.sh /e..."   6 months ago        Up 10 days             0.0.0.0:5000->5000/tcp                                                                                                      registry
04dcacf517c3        showdoc                               "docker-php-entryp..."   12 months ago       Up 4 days              0.0.0.0:4999->80/tcp                                                                                                        showdoc
de58d8c1536a        gitlab/gitlab-ce:latest               "/assets/wrapper"        14 months ago       Up 10 days (healthy)   0.0.0.0:443->443/tcp, 0.0.0.0:30->22/tcp, 0.0.0.0:23000->80/tcp                                                             quantengGitlab
85b9ce08f04c        redis                                 "docker-entrypoint..."   16 months ago       Up 10 days             0.0.0.0:26379->6379/tcp                                                                                                     gallant_blackwell
b17453f09079        redis                                 "docker-entrypoint..."   16 months ago       Up 10 days             6379/tcp                                                                                                                    gcmsredis
5009a3d44c46        mysql:5.6                             "docker-entrypoint..."   16 months ago       Up 10 days             0.0.0.0:22000->3306/tcp                                                                                                     mysql-gcms-db
3b249c115ae1        mysql:5.6                             "docker-entrypoint..."   17 months ago       Up 10 days             0.0.0.0:21000->3306/tcp                                                                                                     mysql-gamemarket-db
8e734f3993a5        lscreager/docker-json-server:latest   "npm start"              19 months ago       Up 10 days             0.0.0.0:20030->3000/tcp                                                                                                     JsonServer
f96217c09cd1        mysql:5.6                             "docker-entrypoint..."   19 months ago       Up 10 days             0.0.0.0:20010->3306/tcp                                                                                                     mysql-jira-db1
a04693d391e1        idoall/jira                           "/usr/bin/supervis..."   19 months ago       Up 10 days             0.0.0.0:20015->22/tcp, 0.0.0.0:20012->8080/tcp, 0.0.0.0:20011->8085/tcp, 0.0.0.0:20014->8090/tcp, 0.0.0.0:20013->8443/tcp   jira

解释:

  1. -storage_driver=influxdb 数据库驱动
  2.  -storage_driver_db=cadvisor 数据库名
  3. -storage_driver_host=192.168.0.11:28086 数据库连接地址端口
  4. -v 容器目录和本地目录映射

六、部署Grafana服务

root@QT-SERVER-11:~# docker run -d --name grafana -p 25000:3000 grafana/grafana
e91c2de89fe62b62103d49e9fada6e66992694168b791326b76a32206347f348
root@QT-SERVER-11:~# clear
root@QT-SERVER-11:~# docker ps
CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS                 PORTS                                                                                                                       NAMES
e91c2de89fe6        grafana/grafana                       "/run.sh"                5 minutes ago       Up 5 minutes           0.0.0.0:25000->3000/tcp                                                                                                     grafana
1f30e69371a0        google/cadvisor                       "/usr/bin/cadvisor..."   12 minutes ago      Up 12 minutes          0.0.0.0:28082->8080/tcp                                                                                                     cadvisor
2f3f6a030b9e        tutum/influxdb                        "/run.sh"                21 minutes ago      Up 21 minutes          0.0.0.0:28083->8083/tcp, 0.0.0.0:28086->8086/tcp                                                                            influxdb
22c24d2f797a        rancher/scheduler:v0.8.3              "/.r/r /rancher-en..."   10 hours ago        Up 10 hours                                                                                                                                        r-scheduler-scheduler-1-ea5bb5d3
6c5e46db218a        hyper/docker-registry-web             "start.sh"               28 hours ago        Up 27 hours            0.0.0.0:28080->8080/tcp                                                                                                     registry-web
1bff5a4925b7        rancher/net:v0.13.11                  "/rancher-entrypoi..."   5 weeks ago         Up 10 days                                                                                                                                         r-ipsec-ipsec-router-1-f13c299f
cfef2f6427f5        rancher/net:v0.13.11                  "/rancher-entrypoi..."   5 weeks ago         Up 10 days                                                                                                                                         r-ipsec-ipsec-connectivity-check-1-5563eaa9
984158ce5bb4        rancher/net:holder                    "/.r/r /rancher-en..."   5 weeks ago         Up 10 days                                                                                                                                         r-ipsec-ipsec-1-15296286
120f9b0afe84        rancher/healthcheck:v0.3.6            "/.r/r /rancher-en..."   5 weeks ago         Up 10 days                                                                                                                                         r-healthcheck-healthcheck-1-edcd9fc2
c3e1841892fc        rancher/dns:v0.17.3                   "/rancher-entrypoi..."   6 months ago        Up 10 days                                                                                                                                         r-network-services-metadata-dns-1-e1adba1e
0d4441507017        rancher/metadata:v0.10.2              "/rancher-entrypoi..."   6 months ago        Up 10 days                                                                                                                                         r-network-services-metadata-1-1f9b0961
cf4ae5be7db9        rancher/net:v0.13.11                  "/rancher-entrypoi..."   6 months ago        Up 10 days                                                                                                                                         r-ipsec-cni-driver-1-6fb955ae
0b509384c103        rancher/network-manager:v0.7.20       "/rancher-entrypoi..."   6 months ago        Up 10 days                                                                                                                                         r-network-services-network-manager-1-f4da073c
8b1d69d5c4ae        rancher/agent:v1.2.10                 "/run.sh run"            6 months ago        Up 10 days                                                                                                                                         rancher-agent
d5016c17b6f4        rancher/server                        "/usr/bin/entry /u..."   6 months ago        Up 10 days             3306/tcp, 0.0.0.0:23808->8080/tcp                                                                                           vigilant_mahavira
46da3197826a        registry:2                            "/entrypoint.sh /e..."   6 months ago        Up 10 days             0.0.0.0:5000->5000/tcp                                                                                                      registry
04dcacf517c3        showdoc                               "docker-php-entryp..."   12 months ago       Up 4 days              0.0.0.0:4999->80/tcp                                                                                                        showdoc
de58d8c1536a        gitlab/gitlab-ce:latest               "/assets/wrapper"        14 months ago       Up 10 days (healthy)   0.0.0.0:443->443/tcp, 0.0.0.0:30->22/tcp, 0.0.0.0:23000->80/tcp                                                             quantengGitlab
85b9ce08f04c        redis                                 "docker-entrypoint..."   16 months ago       Up 10 days             0.0.0.0:26379->6379/tcp                                                                                                     gallant_blackwell
b17453f09079        redis                                 "docker-entrypoint..."   16 months ago       Up 10 days             6379/tcp                                                                                                                    gcmsredis
5009a3d44c46        mysql:5.6                             "docker-entrypoint..."   16 months ago       Up 10 days             0.0.0.0:22000->3306/tcp                                                                                                     mysql-gcms-db
3b249c115ae1        mysql:5.6                             "docker-entrypoint..."   17 months ago       Up 10 days             0.0.0.0:21000->3306/tcp                                                                                                     mysql-gamemarket-db
8e734f3993a5        lscreager/docker-json-server:latest   "npm start"              19 months ago       Up 10 days             0.0.0.0:20030->3000/tcp                                                                                                     JsonServer
f96217c09cd1        mysql:5.6                             "docker-entrypoint..."   19 months ago       Up 10 days             0.0.0.0:20010->3306/tcp                                                                                                     mysql-jira-db1
a04693d391e1        idoall/jira                           "/usr/bin/supervis..."   19 months ago       Up 10 days             0.0.0.0:20015->22/tcp, 0.0.0.0:20012->8080/tcp, 0.0.0.0:20011->8085/tcp, 0.0.0.0:20014->8090/tcp, 0.0.0.0:20013->8443/tcp   jira

七、安装认证

  1. 查看Cadvasor数据是否收集

2、查看InfluxDB数据是否入库

3. 最后数据展示

用户登录: admin/admin

数据源配置:

图表创建:

最后保存

猜你喜欢

转载自blog.csdn.net/u012397222/article/details/84676434