首页
/ 使用Docker Compose部署HertzBeat监控系统:MySQL+IoTDB存储方案

使用Docker Compose部署HertzBeat监控系统:MySQL+IoTDB存储方案

2025-07-07 06:28:52作者:翟萌耘Ralph

概述

HertzBeat是一款开源的实时监控系统,能够对各种服务、应用和基础设施进行监控。本文将详细介绍如何使用Docker Compose快速部署HertzBeat系统,并采用MySQL作为关系型数据库、IoTDB作为时序数据库的存储方案。

环境准备

Docker环境安装

在开始部署前,需要确保系统已安装以下组件:

  1. Docker引擎:容器运行时环境
  2. Docker Compose:多容器编排工具

可以通过以下命令验证安装是否成功:

docker -v
docker-compose -v

部署步骤

1. 获取部署文件

首先需要获取HertzBeat的Docker Compose部署文件,这些文件通常包含:

  • docker-compose.yml:定义服务及其配置
  • 相关环境变量文件
  • 初始化脚本等

2. 准备MySQL JDBC驱动

由于HertzBeat需要连接MySQL数据库,需要手动下载并放置MySQL的JDBC驱动:

  1. 下载MySQL Connector/J驱动(推荐8.0.x版本)
  2. 将下载的jar包(如mysql-connector-java-8.0.25.jar)复制到项目中的ext-lib目录

3. 启动服务

进入包含docker-compose.yml文件的目录,执行以下命令启动所有服务:

docker compose up -d

此命令将启动三个容器服务:

  1. MySQL:作为HertzBeat的关系型数据库,存储配置信息等
  2. IoTDB:作为时序数据库,存储监控指标数据
  3. HertzBeat:监控系统主服务

服务验证

访问HertzBeat

服务启动完成后,可以通过浏览器访问:

http://localhost:1157

使用默认凭证登录:

  • 用户名:admin
  • 密码:hertzbeat

架构说明

这种部署方案采用了分层存储架构:

  1. MySQL

    • 存储系统配置
    • 用户权限信息
    • 监控任务定义等结构化数据
  2. IoTDB

    • 专门存储时间序列数据
    • 高效处理监控指标
    • 优化了时间范围查询性能
  3. HertzBeat

    • 提供数据采集能力
    • 告警引擎
    • 可视化界面

常见问题

端口冲突

如果1157端口已被占用,可以修改docker-compose.yml中的端口映射配置。

数据持久化

默认配置下,数据会存储在容器中。如需持久化,建议:

  1. 为MySQL配置数据卷
  2. 为IoTDB配置数据卷

性能调优

对于生产环境,可能需要:

  1. 调整各容器的资源限制
  2. 优化MySQL和IoTDB的配置参数
  3. 考虑集群化部署

总结

通过Docker Compose部署HertzBeat结合MySQL和IoTDB的方案,能够快速搭建一个功能完善的监控系统。这种方案既利用了MySQL在关系型数据管理上的优势,又发挥了IoTDB在时序数据处理上的高性能特点,适合需要监控大量时间序列数据的场景。

后续可以根据实际需求,进一步配置监控项、告警规则和可视化面板,构建完整的监控解决方案。