Portainer
概念
- Portainer 是一款轻量级的应用,提供了图形化界面,用于方便地管理 Docker 环境,包括单机环境和集群环境
安装
- portainer 官网
- 如果出现问题,将 portainer/portainer 替换成 portainer/portainer-ce
- docker 命令:docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
操作
CAdvisor + InfluxDB + Granfana 容器监控
- CAdvisor监控收集 + InfluxDB存储数据 + Granfana展示图表
背景
- 也可以使用 docker status 命令查看当前宿主机上所有的容器 CPU、内存以及网络流量等数据
- 但是 docker status 统计结果只能是当前宿主机的全部容器,数据资料是实时的,没有地方存储、没有健康指标过线预警等功能
CAdvisor
- CAdvisor 是一个容器资源监控工具,包括容器的内存、CPU、网络IO、磁盘IO等监控,同时提供了一个web页面用于查看容器的实时运行状态。CAdvisor 默认存储2分钟数据,而且只是针对单物理机
- 不过 CAdvisor 提供了很多数据集成接口,支持 InfluxDB、Redis、Kafka、Elasticsearch等集成,可以加上对应配置将监控数据发往这些数据库存储起来
- 主要功能:
- 展示 Host 和容器两个分层次的监控数据
- 展示历史变化数据
InfluxDB
- InfluxDB 是用 Go 语言编写的一个开源分布式时序、事件、指标数据库,无需外部依赖。将 CAdvisor 收集的数据存储到 InfluxDB 中
- 主要功能:
- 基于时间序列,支持与时间有关的想关函数
- 可度量性,可以实时对大量数据进行计算
- 基于事件,支持任意的事件数据
Granfana
- Granfana 是一个开源的数据监控分析可视化平台,支持多种数据源配置(InfluxDB、MySQL、Elasticsearch、OpenTSDB、Graphite)和丰富的插件及模块功能,支持图表权限控制和报警
- 主要功能:
- 灵活丰富的图形化选项
- 可以混合多种风格
- 多个数据源
安装
- 编辑 docker-compose.yml 文件
- 使用命令查看配置、格式是否正确:docker-compose config -q
- docker-compose.yml
- 使用命令 docker-compose up 一键安装