使用Docker Compose部署HertzBeat监控系统:MySQL+IoTDB存储方案
2025-07-07 06:28:52作者:翟萌耘Ralph
概述
HertzBeat是一款开源的实时监控系统,能够对各种服务、应用和基础设施进行监控。本文将详细介绍如何使用Docker Compose快速部署HertzBeat系统,并采用MySQL作为关系型数据库、IoTDB作为时序数据库的存储方案。
环境准备
Docker环境安装
在开始部署前,需要确保系统已安装以下组件:
- Docker引擎:容器运行时环境
- Docker Compose:多容器编排工具
可以通过以下命令验证安装是否成功:
docker -v
docker-compose -v
部署步骤
1. 获取部署文件
首先需要获取HertzBeat的Docker Compose部署文件,这些文件通常包含:
docker-compose.yml
:定义服务及其配置- 相关环境变量文件
- 初始化脚本等
2. 准备MySQL JDBC驱动
由于HertzBeat需要连接MySQL数据库,需要手动下载并放置MySQL的JDBC驱动:
- 下载MySQL Connector/J驱动(推荐8.0.x版本)
- 将下载的jar包(如mysql-connector-java-8.0.25.jar)复制到项目中的
ext-lib
目录
3. 启动服务
进入包含docker-compose.yml文件的目录,执行以下命令启动所有服务:
docker compose up -d
此命令将启动三个容器服务:
- MySQL:作为HertzBeat的关系型数据库,存储配置信息等
- IoTDB:作为时序数据库,存储监控指标数据
- HertzBeat:监控系统主服务
服务验证
访问HertzBeat
服务启动完成后,可以通过浏览器访问:
http://localhost:1157
使用默认凭证登录:
- 用户名:admin
- 密码:hertzbeat
架构说明
这种部署方案采用了分层存储架构:
-
MySQL:
- 存储系统配置
- 用户权限信息
- 监控任务定义等结构化数据
-
IoTDB:
- 专门存储时间序列数据
- 高效处理监控指标
- 优化了时间范围查询性能
-
HertzBeat:
- 提供数据采集能力
- 告警引擎
- 可视化界面
常见问题
端口冲突
如果1157端口已被占用,可以修改docker-compose.yml中的端口映射配置。
数据持久化
默认配置下,数据会存储在容器中。如需持久化,建议:
- 为MySQL配置数据卷
- 为IoTDB配置数据卷
性能调优
对于生产环境,可能需要:
- 调整各容器的资源限制
- 优化MySQL和IoTDB的配置参数
- 考虑集群化部署
总结
通过Docker Compose部署HertzBeat结合MySQL和IoTDB的方案,能够快速搭建一个功能完善的监控系统。这种方案既利用了MySQL在关系型数据管理上的优势,又发挥了IoTDB在时序数据处理上的高性能特点,适合需要监控大量时间序列数据的场景。
后续可以根据实际需求,进一步配置监控项、告警规则和可视化面板,构建完整的监控解决方案。