字节笔记本
2026年3月22日
HertzBeat - 开源实时监控告警平台
本文介绍 Apache HertzBeat,一个 AI 驱动的新一代开源实时可观测性系统,集成指标采集、日志收集、告警分发和智能分析于一体,无需 Agent 即可对应用服务、数据库、操作系统、云原生等多种目标进行全方位监控。
项目简介
Apache HertzBeat 是一款开源的实时可观测性平台,由 Dromara 社区发起,现已正式成为 Apache 孵化器项目。项目名称中的 "Hertz" 意为赫兹(频率单位),"Beat" 意为心跳,寓意着系统对被监控目标进行持续不断的高频健康检测。
HertzBeat 的核心设计理念是"统一可观测性平台",将指标采集、日志收集、告警分发和消息通知整合在一个系统中,并引入了 AI 智能化能力。系统采用无 Agent 架构,兼容 Prometheus 协议,支持高性能集群部署,提供强大的自定义监控和状态页面构建能力。
作为一个功能全面且易于扩展的监控系统,HertzBeat 已被列入 CNCF 可观测性与分析领域的 Landscape 图谱中,社区活跃度持续增长,获得了众多开发者和企业的关注与使用。
核心特性
统一指标采集平台
HertzBeat 采用无 Agent 的方式,通过 Http、Jmx、Ssh、Snmp、Jdbc、Prometheus 等多种协议对接被监控目标。所有监控类型的定义均采用 YML 模板化配置,用户只需通过在线配置模板文件即可采集任何指标数据。这种设计使得快速适配 Kubernetes、Docker 等新的监控类型变得极为简便。
统一日志平台
通过 OTLP 协议无缝集成多种日志源,实现日志的统一收集、存储和查询,与指标数据形成完整的可观测性视图。
统一告警平台
集成内部告警与各类外部告警源,提供统一的告警处理和分析能力。支持灵活的实时和周期性阈值规则、分组收敛、静默抑制等高级告警管理功能,帮助企业建立高效的告警运营体系。
统一消息分发
告警信息可通过 Email、Discord、Slack、Telegram、钉钉、企业微信、飞书、短信、Webhook、Server 酱等多种渠道进行分发,确保告警信息能够及时触达相关负责人。
AI 智能能力
HertzBeat 内置了 AI 交互和分析功能,支持 MCP Server 能力,为运维和开发人员提供智能化的监控数据分析和问题诊断辅助。
高性能集群架构
支持采集器的水平扩展和多集群部署,能够处理多隔离网络的监控场景和云边协同需求。无论是小规模的开发测试环境还是大规模的生产部署,都能灵活适配。
状态页面构建
提供强大的状态页面构建能力,用户可以轻松地将服务的实时运行状态对外展示,提升服务透明度和用户信任感。
技术栈
HertzBeat 的技术栈涵盖前后端多个领域:
后端技术:
- Java 17、Spring Boot、Spring Data JPA
- Maven 构建工具、Lombok
- Netty 网络通信框架
- Protobuf 序列化协议
- HttpClient、Guava、SnakeYaml、JsonPath 等工具库
前端技术:
- TypeScript、Angular 框架
- NG-ZORRO、NG-ALAIN UI 组件库
- Node.js、Npm 包管理器
- ECharts 数据可视化、Rxjs 响应式编程
- Monaco Editor 代码编辑器
- Docusaurus 文档站点生成器
运维部署:
- Docker 容器化部署
- Docker Compose 编排
- Kubernetes Helm Charts
- 支持 x86 和 arm64 架构
- 兼容 PostgreSQL、MySQL 等关系型数据库
- 支持 VictoriaMetrics、IoTDB、TDengine 等时序数据库
许可证:Apache License 2.0
安装指南
HertzBeat 提供了多种安装方式,满足不同场景的部署需求:
方式一:Docker 快速安装
这是最简单的安装方式,只需一条命令:
docker run -d -p 1157:1157 -p 1158:1158 --name hertzbeat apache/hertzbeat安装完成后,访问 http://localhost:1157 即可进入管理界面,默认账号密码为 admin/hertzbeat。
方式二:安装包部署
- 从官网下载发布包
hertzbeat-xx.tar.gz - 根据需要修改配置文件
hertzbeat/config/application.yml - 运行启动命令:
./bin/startup.sh(Linux/Mac)或bin/startup.bat(Windows) - 访问
http://localhost:1157,默认账号:admin/hertzbeat
方式三:Docker Compose 一键部署
通过 Docker Compose 脚本,可以同时安装 HertzBeat、PostgreSQL/MySQL 数据库和 VictoriaMetrics/IoTDB/TDengine 时序数据库:
# 参考项目 script/docker-compose 目录下的部署脚本
cd script/docker-compose
docker-compose up -d方式四:Kubernetes Helm Charts 部署
对于 Kubernetes 集群环境,可以通过 Helm Chart 安装完整的 HertzBeat 集群:
helm repo add hertzbeat https://artifacthub.io/packages/helm/hertzbeat/hertzbeat
helm install hertzbeat hertzbeat/hertzbeat方式五:源码构建
- 后端需要 Maven 3+、Java 17、Lombok 环境
- 在 IDE 中添加 VM 参数:
--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED - 启动
hertzbeat-startup模块 - 前端需要 Node.js、npm、Angular CLI 环境,在
web-app目录执行ng serve --open - 访问
http://localhost:4200,默认账号:admin/hertzbeat
快速开始
部署采集器集群(可选)
如需部署独立的采集器以实现分布式监控,可使用以下 Docker 命令:
docker run -d \
-e IDENTITY=custom-collector-name \
-e MANAGER_HOST=127.0.0.1 \
-e MANAGER_PORT=1158 \
--name hertzbeat-collector \
apache/hertzbeat-collector关键参数说明:
IDENTITY:设置采集器的唯一标识名称MODE:设置运行模式(public 公共集群 / private 私有云边协同)MANAGER_HOST:HertzBeat 主服务器地址MANAGER_PORT:HertzBeat 主服务器端口(默认 1158)
添加监控目标
登录控制台后,可以通过以下步骤添加监控目标:
- 进入"监控"页面,点击"新增监控"
- 选择监控类型(如 MySQL、Redis、Linux 等)
- 填写目标主机的连接信息
- 配置采集频率和告警阈值
- 保存后系统将自动开始采集数据
配置告警通知
在"告警"页面可以配置通知渠道:
- 进入"告警 > 通知管理"
- 选择通知类型(如 Email、钉钉、企业微信等)
- 填写对应的通知接收信息
- 配置告警规则和阈值
- 设置告警分组、收敛和静默策略
使用示例
监控数据库服务
HertzBeat 支持监控多种数据库:MySQL、PostgreSQL、MariaDB、Redis、MongoDB、ElasticSearch、SQL Server、Oracle、ClickHouse、IoTDB、DM(达梦)、OpenGauss 等。只需在控制台选择对应的监控类型,填写数据库连接信息即可开始监控,系统会自动采集连接数、查询性能、缓存命中率等关键指标。
监控操作系统
支持对 Linux、Windows、Ubuntu、CentOS、FreeBSD、Debian、Red Hat、Rocky Linux 等多种操作系统的监控。通过 SSH 协议采集 CPU 使用率、内存占用、磁盘空间、网络流量等系统级指标。
监控云原生组件
内置 Kubernetes 和 Docker 的监控模板,可以实时跟踪容器状态、Pod 资源使用、节点健康度等云原生环境的关键指标。
监控中间件
支持对 Kafka、RabbitMQ、Zookeeper、Nacos、Tomcat、Jetty、ActiveMQ、EMQX MQTT、Spring Gateway、AirFlow、Flink、Hive、Spark、Hadoop 等常用中间件的监控。
构建状态页面
利用 HertzBeat 的状态页面功能,可以将服务的实时运行状态生成公开的状态页面,方便外部用户查看服务的可用性情况,提升服务运营的透明度。
自定义监控模板
用户可以通过编写 YML 模板文件来定义新的监控类型,通过 Http、Jdbc、Jmx 等协议采集自定义的业务指标。模板定义后可以在控制台在线导入,无需修改系统代码。
项目链接
- GitHub 仓库:https://github.com/apache/hertzbeat(原 dromara/hertzbeat,已毕业进入 Apache 孵化器)
- 官方网站:https://hertzbeat.apache.org
- 官方文档:https://hertzbeat.apache.org/docs
- Docker 镜像:https://hub.docker.com/r/apache/hertzbeat
- Helm Charts:https://artifacthub.io/packages/helm/hertzbeat/hertzbeat
- 许可证:Apache License 2.0
- 贡献指南:https://github.com/apache/hertzbeat/blob/master/CONTRIBUTING.md
- 社区交流:
- Discord:https://discord.gg/Fb6M73htGr
- Reddit:https://www.reddit.com/r/hertzbeat/
- Twitter:https://x.com/hertzbeat1024
- QQ 群:1035688434
- 邮件列表:dev-subscribe@hertzbeat.apache.org