HertzBeat项目:使用MySQL替代H2数据库存储元数据指南

HertzBeat项目:使用MySQL替代H2数据库存储元数据指南

hertzbeat An open source, real-time monitoring system with custom-monitoring, high performance cluster, prometheus-like and agentless. hertzbeat 项目地址: https://gitcode.com/gh_mirrors/he/hertzbeat

前言

在监控系统HertzBeat中,默认使用H2作为内置数据库存储监控元数据。然而,对于生产环境或需要更高可靠性的场景,使用MySQL这样的专业关系型数据库是更好的选择。本文将详细介绍如何将HertzBeat的元数据存储从H2迁移到MySQL。

MySQL环境准备

版本要求

HertzBeat仅支持MySQL 5.7及以上版本,包括MySQL 8.x系列。使用前请确认您的MySQL版本:

mysql --version

使用Docker安装MySQL(可选)

如果本地没有MySQL环境,可以通过Docker快速搭建:

  1. 首先确保已安装Docker环境
  2. 执行以下命令启动MySQL容器:
docker run -d --name mysql \
 -p 3306:3306 \
 -v /your/local/path:/var/lib/mysql \
 -e MYSQL_ROOT_PASSWORD=yourpassword \
 --restart=always \
 mysql:5.7

注意事项:

  • /your/local/path应替换为实际的本地持久化目录
  • 启动后可通过docker ps命令验证容器状态

数据库配置

创建专用数据库

  1. 连接到MySQL服务器:

    mysql -uroot -pyourpassword
    
  2. 执行创建数据库命令:

    CREATE DATABASE hertzbeat DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
    
  3. 验证数据库是否创建成功:

    SHOW DATABASES;
    

准备JDBC驱动

  1. 下载MySQL JDBC驱动(推荐8.0.x版本)
  2. 将下载的mysql-connector-java-x.x.xx.jar文件复制到HertzBeat的ext-lib目录下

修改HertzBeat配置

配置文件位置

根据安装方式不同,配置文件位置有所差异:

  • 安装包方式:hertzbeat/config/application.yml
  • Docker方式:需要挂载本地的application.yml文件

关键配置修改

将原有的H2数据源配置替换为MySQL配置:

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: your_username
    password: your_password
    url: jdbc:mysql://your_mysql_host:3306/hertzbeat?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&useSSL=false
    hikari:
      max-lifetime: 120000
  jpa:
    show-sql: false
    database-platform: org.eclipse.persistence.platform.database.MySQLPlatform
    database: mysql
    properties:
      eclipselink:
        logging:
          level: SEVERE

重要参数说明:

  • your_mysql_host:MySQL服务器地址,Docker环境下可使用容器名称
  • your_username/your_password:数据库访问凭证
  • useSSL=false:生产环境建议配置为true并配置证书

启动验证

完成上述配置后,重启HertzBeat服务。访问管理界面(默认端口1157),使用默认账号admin/hertzbeat登录,确认系统功能正常。

注意事项

  1. 生产环境建议:

    • 为HertzBeat创建专用数据库账号而非root
    • 启用SSL连接
    • 配置定期数据库备份
  2. 性能调优:

    • 根据监控规模调整连接池参数
    • 考虑为常用查询字段添加索引
  3. 迁移数据:

    • 如需从H2迁移现有数据,可使用数据库导出导入工具
    • 注意表结构和数据类型的兼容性

通过以上步骤,您已成功将HertzBeat的元数据存储迁移到MySQL数据库,为系统提供了更稳定可靠的数据存储方案。

hertzbeat An open source, real-time monitoring system with custom-monitoring, high performance cluster, prometheus-like and agentless. hertzbeat 项目地址: https://gitcode.com/gh_mirrors/he/hertzbeat

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

任玫椒Fleming

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值