21、监控
21.1、使用InfluxDB+cAdvisor+Grafana配置Docker监控
cAdvisor: Google开源的用于监控基础设施应用的工具,它是一个强大的监控工具,不需要任何配置就可以通过运行在Docker主机上的容器来监控Docker容器,而且可以监控Docker主机。更多详细操作和配置选项可以查看Github上的cAdvisor项目文档。 influxDB: 它是一个分布式时间序列数据库。cAdvisor仅仅显示实时信息,但是不存储监视数据。因此,我们需要提供时序数据库用于存储cAdvisor组件所提供的监控信息,以便显示除实时信息之外的时序数据。 Grafana: Grafana可视化展示平台允许我们可视化地展示监控信息。它允许我们对influxDB进行查询,并通过强大的图表功能进行可视化展示。
关系:cAdvisor容器数据采集->InfluxDB容器数据存储->Grafana可视化展示
原文来源于简书, 链接
- 安装influxDB
docker run -d \
-p 8083:8083 \
-p 8086:8086 \
--expose 8090 \
--expose 8099 \
--name influxsrv \
tutum/influxdb
在登录influxdb后台数据库管理平台后, 创建cAdvisor数据库, 用于存储cAdvisor应用所获取的实时监控数据。在influxDB管理界面中的Querie s输入框中创建数据库和用户:
# 创建数据库用于cadvisor连接
create database 'cadvisor';
# 创建用户
CREATE USER 'cadvisor' WITH PASSWORD 'cadvisor'
- 运行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主机和容器的资源统计信息。
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
- 登录Grafana管理平台
通过Web浏览器访问地址http://docker-host-ip:3000登录Grafana管理平台。
用户名:admin 密 码:admin
添加一个graph
添加来自内存,这里是所有的容器内存信息
单个容器的条目
添加2个的效果
21.2、portainer
Portainer 的使用意图是简单部署。 它包含可以在任何 Docker 引擎上运行的单个容器(Docker for Linux 和 Docker for Windows)。 Portainer 允许您管理 Docker 容器、image、volume、network 等。 它与独立的 Docker 引擎和 Docker Swarm 兼容。
运行portainer工具
docker run -d -p 9000:9000 \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
--name test \
portainer/portainer
这里也可以查看单个容器的监控状态
还能直接进入console界面
21.3、Shipyard
这个官方已经不在维护了 具体信息:https://github.com/shipyard/shipyard
21.4、docker ui
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://<dockerd host ip>:9000
网络连接关系图挺有意思
容器的名称,基础镜像以及正在使用的命令还有状态,最后还能查看日志
未完待续