一:轻量级可视化监控工具Portainer
可视化监控工具, 可以通过docker安装,用于管理和监控docker,基本上的docker命令都有对应的按钮来操作。
# always 表示docker重启了该容器也跟着重启
docker run -d --name portainer -p 8000:8000 -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
localhost:9000 创建admin账号密码。如果监控本地的容器就选择Local。
二:重量级可视化监控工具CAdvisor(监控收集)+InfluxDB(存储数据)+Granfana(展示图表)
CAdvisor
是一个容器资源监控工具,包括容器的内存、CPU、网络IO、磁盘IO等监控,同时提供了一个Web页面用于查看容器的实时运行状态,CAdvisor默认存储2分钟的数据,而且只针对单物理机。CAdvisor提供了数据存储的接口支持InfluxDB、Redis、Kafka、Elasticsearch等持久化存储收集的数据。
Granfana
是一个开源的数据监控分析可视化平台,支持多数据源和丰富的插件及模板功能,支持图表权限控制报警。
docker-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/lib/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
# 会自动pull镜像
docker compose up
docker ps
配置Granfana
localhost:3000
- 配置-数据源-InfluxDB:数据库名:cadvisor,用户名:root,密码:root
- ➕ - Dashboard - Add new Panne添加一个新的面板