接上篇12-20

21、监控

21.1、使用InfluxDB+cAdvisor+Grafana配置Docker监控

  cAdvisor: Google开源的用于监控基础设施应用的工具,它是一个强大的监控工具,不需要任何配置就可以通过运行在Docker主机上的容器来监控Docker容器,而且可以监控Docker主机。更多详细操作和配置选项可以查看Github上的cAdvisor项目文档。
  influxDB: 它是一个分布式时间序列数据库。cAdvisor仅仅显示实时信息,但是不存储监视数据。因此,我们需要提供时序数据库用于存储cAdvisor组件所提供的监控信息,以便显示除实时信息之外的时序数据。
  Grafana: Grafana可视化展示平台允许我们可视化地展示监控信息。它允许我们对influxDB进行查询,并通过强大的图表功能进行可视化展示。

关系:cAdvisor容器数据采集->InfluxDB容器数据存储->Grafana可视化展示

原文来源于简书, 链接

  1. 安装influxDB

    docker run -d \
    -p 8083:8083 \
    -p 8086:8086 \
    --expose 8090 \
    --expose 8099 \
    --name influxsrv \
    tutum/influxdb

    docker_基础_4_监控_第1张图片

在登录influxdb后台数据库管理平台后, 创建cAdvisor数据库, 用于存储cAdvisor应用所获取的实时监控数据。在influxDB管理界面中的Querie s输入框中创建数据库和用户:

# 创建数据库用于cadvisor连接
create database 'cadvisor'; 
# 创建用户
CREATE USER 'cadvisor' WITH PASSWORD 'cadvisor'
  1. 运行cAdvisor应用容器并与influxDB容器进行互联
    docker run --volume=/:/rootfs:ro \
    --volume=/var/run:/var/run:rw \
    --volume=/sys:/sys:ro \
    --volume=/var/lib/docker/:/var/lib/docker:ro \
    -p 8080:8080 \
    --detach=true \
    --link influxsrv:influxsrv \
    --name=cadvisor \
    google/cadvisor:latest \
    -storage_driver=influxdb \
    -storage_driver_db=cadvisor \
    -storage_driver_host=influxsrv:8086

      cAdvisor应用容器启动成功后,通过Web浏览器访问地址http://docker-host-ip:8080,便可以查看cAdvisor监控工具所收集到的Docker主机和容器的资源统计信息。

docker_基础_4_监控_第2张图片

3.运行Grafana可视化平台并与influxDB容器进行互联

docker run -d -p 3000: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
  1. 登录Grafana管理平台

通过Web浏览器访问地址http://docker-host-ip:3000登录Grafana管理平台。

用户名:admin
密 码:admin

docker_基础_4_监控_第3张图片

docker_基础_4_监控_第4张图片
docker_基础_4_监控_第5张图片

添加一个graph
docker_基础_4_监控_第6张图片
docker_基础_4_监控_第7张图片

添加来自内存,这里是所有的容器内存信息
docker_基础_4_监控_第8张图片

单个容器的条目
docker_基础_4_监控_第9张图片

添加2个的效果
docker_基础_4_监控_第10张图片

21.2、portainer

  Portainer 的使用意图是简单部署。 它包含可以在任何 Docker 引擎上运行的单个容器(Docker for Linux 和 Docker for Windows)。
  Portainer 允许您管理 Docker 容器、image、volume、network 等。 它与独立的 Docker 引擎和 Docker Swarm 兼容。

portainer详细介绍

运行portainer工具

docker run -d -p 9000:9000     \
--restart=always     \
-v /var/run/docker.sock:/var/run/docker.sock     \
--name test     \
portainer/portainer

docker_基础_4_监控_第11张图片
这里也可以查看单个容器的监控状态
docker_基础_4_监控_第12张图片docker_基础_4_监控_第13张图片

还能直接进入console界面
docker_基础_4_监控_第14张图片

21.3、Shipyard

 这个官方已经不在维护了  具体信息:https://github.com/shipyard/shipyard

21.4、docker ui

docerui github地址

Run: docker run -d -p 9005:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker

Open your browser to http://:9000

docker_基础_4_监控_第15张图片

网络连接关系图挺有意思
docker_基础_4_监控_第16张图片

容器的名称,基础镜像以及正在使用的命令还有状态,最后还能查看日志
docker_基础_4_监控_第17张图片

未完待续