安陆建设局网站,30分钟快速建设网站,苏州诗华洛网站建设,海南电商网站建设目录
一、CIG说明
1. CAdvisor
2. InfluxDB
3. Grafana
二、环境搭建
1. 创建目录
2. 编写 docker-compose.yml
3. 检查并运行容器
三、进行测试
1. 查看 influxdb 存储服务 是否能正常访问
2. 查看 cAdvisor 收集服务能否正常访问
3. 查看 grafana 展现服务#…目录
一、CIG说明
1. CAdvisor
2. InfluxDB
3. Grafana
二、环境搭建
1. 创建目录
2. 编写 docker-compose.yml
3. 检查并运行容器
三、进行测试
1. 查看 influxdb 存储服务 是否能正常访问
2. 查看 cAdvisor 收集服务能否正常访问
3. 查看 grafana 展现服务并且配置展现模板
1. 进行登录
2 .配置数据源
3. 配置面板panel 一、CIG说明
由 CAdvisorInfluxDBGranfana 组成的CIG的监控。
1. CAdvisor
CAdvisor 是由 Google 开源的一个用于监控容器资源使用情况的工具。它能够实时收集 Docker 容器的 CPU 使用率、内存使用量、磁盘 I/O、网络流量 等指标并将这些数据暴露为 Prometheus 格式的监控端点供 Prometheus 或其他监控系统使用。cAdvisor 还提供了一个简单的 Web 界面可以用于实时查看容器的监控数据。
2. InfluxDB
InfluxDB 是一个开源的时序数据库专门设计用于处理时间序列数据。在 CIG 监控系统中InfluxDB 用于存储由 cAdvisor 收集的容器监控数据。用户可以通过查询 InfluxDB 数据库来获取 历史的容器监控指标并利用其强大的时序查询语言进行数据分析和可视化。
3. Grafana
Grafana 是一个开源的数据可视化工具用于创建、查看和共享监控仪表盘。在 CIG 监控系统中Grafana 与 InfluxDB 集成可以直接从 InfluxDB 中查询容器监控数据并通过可视化方式展示在用户界面上。用户可以根据自己的需求定制仪表盘选择合适的 图表类型、添加 告警规则并将仪表盘分享给其他用户。 通过将 cAdvisor、InfluxDB 和 Grafana 这三个组件结合在一起用户可以构建一个强大而灵活的容器监控系统实现对 Docker 容器的全面监控和管理。该系统具有 实时性、可扩展性 和 易用性 等特点适用于各种规模的容器化环境。
二、环境搭建
1. 创建目录
mkdir /mydocker/cig
cd /mydocker/cig
2. 编写 docker-compose.yml
vim docker-compose.yml
version: 3.1volumes:grafana_data: {}services:influxdb:image: tutum/influxdb:0.9restart: alwaysenvironment:- PRE_CREATE_DBcadvisorports:- 8083:8083- 8086:8086volumes:- ./data/influxdb:/datacadvisor:image: google/cadvisorlinks:- influxdb:influxsrvcommand: -storage_driverinfluxdb -storage_driver_dbcadvisor -storage_driver_hostinfluxdb:8086restart: alwaysports:- 8080:8080volumes:- /:/rootfs:ro- /var/run:/var/run:rw- /sys:/sys:ro- /var/lib/docker/:/var/lib/docker:rografana:user: 104image: grafana/grafanauser: 104restart: alwayslinks:- influxdb:influxsrvports:- 3000:3000volumes:- grafana_data:/var/lib/grafanaenvironment:- HTTP_USERadmin- HTTP_PASSadmin- INFLUXDB_HOSTinfluxsrv- INFLUXDB_PORT8086- INFLUXDB_NAMEcadvisor- INFLUXDB_USERroot- INFLUXDB_PASSroot
ps配置注释
version: 3.1volumes:grafana_data: {} # 定义 Grafana 数据卷用于持久化数据services:influxdb:image: tutum/influxdb:0.9 # 使用 InfluxDB 0.9 版本镜像restart: always # 总是重启容器environment:- PRE_CREATE_DBcadvisor # 预创建名为 cadvisor 的数据库ports:- 8083:8083 # InfluxDB Web 可视化页面端口- 8086:8086 # InfluxDB API 端口volumes:- ./data/influxdb:/data # 挂载 InfluxDB 数据到本地目录cadvisor:image: google/cadvisor # 使用 Google/cAdvisor 镜像links:- influxdb:influxsrv # 链接到 InfluxDB 服务command: -storage_driverinfluxdb -storage_driver_dbcadvisor -storage_driver_hostinfluxdb:8086 # 定义 cadvisor 启动命令restart: always # 总是重启容器ports:- 8080:8080 # cAdvisor 端口volumes:- /:/rootfs:ro # 挂载根目录为只读- /var/run:/var/run:rw # 挂载/var/run目录为读写- /sys:/sys:ro # 挂载/sys目录为只读- /var/lib/docker/:/var/lib/docker:ro # 挂载/var/lib/docker目录为只读grafana:user: 104 # 指定容器用户image: grafana/grafana # 使用 Grafana 镜像restart: always # 总是重启容器links:- influxdb:influxsrv # 链接到 InfluxDB 服务ports:- 3000:3000 # Grafana 端口volumes:- grafana_data:/var/lib/grafana # 挂载 Grafana 数据到数据卷environment:- HTTP_USERadmin # 设置 Grafana 登录用户名- HTTP_PASSadmin # 设置 Grafana 登录密码- INFLUXDB_HOSTinfluxsrv # 设置 InfluxDB 主机- INFLUXDB_PORT8086 # 设置 InfluxDB 端口- INFLUXDB_NAMEcadvisor # 设置 InfluxDB 数据库名称- INFLUXDB_USERroot # 设置 InfluxDB 用户名- INFLUXDB_PASSroot # 设置 InfluxDB 密码ps如果出错记得检查是否有空格没有删除
3. 检查并运行容器
# 检查配置有问题才有输出
docker compose config -q
# -d 后台启动
docker compose up -d检查容器是否正常启动
docker ps
# 如果运行出错别忘记了查看日志
docker logs 【容器名称/容器ID】
三、进行测试
1. 查看 influxdb 存储服务 是否能正常访问
http://192.168.xxx.xxx:8083/
进入之后查看我们在 docker-compose.yml 配置文件中默认创建的数据库是否已经创建
Show databases 2. 查看 cAdvisor 收集服务能否正常访问
http://192.168.xxx.xxx:8083/ 3. 查看 grafana 展现服务并且配置展现模板
1. 进行登录
grafana 默认帐户密码admin/admin在登录之后需要设置一个新的密码。
http://192.168.xxx.xxx:3000/
2 .配置数据源 找到 InfluxDB 数据库 填写数据源链接 http://influxdb:8086 然后向下滑动配置数据库连接账号密码。 Database:cadvisorUser:rootPassword:root 在 docker-compose.yml 配置文件中在创建 influxdb 时创建 3. 配置面板panel FROMcpu_usage_totalGrafana会自动获取InfluxDB数据库中的元数据可以直接选择对应表名
WHERE添加一个条件container_name/
ALIAS配置一个别名CPU使用情况汇总