Apache HertzBeat 安装使用完整指南(官方推荐)
Apache HertzBeat 是AI 驱动、无 Agent、一站式开源实时观测系统,支持指标/日志统一采集、告警智能分发、灵活自定义监控,兼容多协议与云原生环境,本文基于 Gitee 官方仓库整理最全安装、配置、使用流程,小白也能快速上手。
一、项目核心概览
-
• 定位:采集 + 分析 + 告警 + 通知一体化实时观测平台
-
• 优势:无需 Agent、高性能集群、自定义 YML 模板、多协议兼容、状态页构建
-
• 端口:Web 控制台 1157 、采集器通信 1158
-
• 默认账号:admin / hertzbeat
-
• 协议支持:HTTP/JMX/SSH/SNMP/JDBC/Prometheus/OTLP 等
-
• 部署方式:Docker / 安装包 / 源码 / Docker Compose / Kubernetes
二、环境准备(必看)
-
• 系统:Linux/macOS/Windows(x86_64/arm64)
-
• 最低配置:2 核 CPU、4G 内存、10G 磁盘
-
• 依赖:
-
-
• Docker 方式:Docker 20.10+
-
• 安装包/源码:JDK 17+、Maven 3.6+、Node.js 16+
-
-
• 防火墙放行:1157(Web)、1158(采集器)端口
三、5 种安装部署方式(官方推荐)
方式一:Docker 一键安装(最快,推荐)
go
# 主服务启动
docker run -d \
-p 1157:1157 \
-p 1158:1158 \
--name hertzbeat \
apache/hertzbeat
-
• 访问:http://服务器IP:1157
-
• 登录:admin / hertzbeat
可选:部署采集器集群
go
docker run -d \
-e IDENTITY=my-collector-01 \
-e MANAGER_HOST=主服务IP \
-e MANAGER_PORT=1158 \
--name hertzbeat-collector \
apache/hertzbeat-collector
-
• IDENTITY:采集器唯一名称
-
• MANAGER_HOST:主服务对外 IP
-
• 主服务控制台可自动发现已注册采集器
方式二:二进制安装包部署(无 Docker 首选)
-
- 解压
go
tar -zxvf apache-hertzbeat-x.x.x-bin.tar.gz
cd apache-hertzbeat-x.x.x
-
- (可选)修改配置:
config/application.yml(数据库、时序库等)
- (可选)修改配置:
-
- 启动
go
# Linux/macOS
./bin/startup.sh
# Windows
bin/startup.bat
方式三:本地源码启动(开发调试)
- • 后端:JDK17 + Maven + Lombok
go
# 克隆代码
git clone https://gitee.com/hertzbeat/hertzbeat.git
cd hertzbeat
# 编译启动(添加 JVM 参数)
mvn clean install -DskipTests
cd hertzbeat-startup
java --add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED -jar target/hertzbeat.jar
- • 前端:Node.js + Angular
go
cd web-app
npm install
ng serve --open
方式四:Docker Compose 全组件部署
适合生产环境,一键部署:HertzBeat + PostgreSQL + VictoriaMetrics 时序库
go
# 下载解压
wget 安装包地址
tar -zxvf apache-hertzbeat-x.x.x-docker-compose.tar.gz
cd hertzbeat-postgresql-victoria-metrics
# 启动
docker-compose up -d
# 查看状态
docker-compose ps
- • 访问:http://IP:1157
方式五:K8s + Helm Charts 部署
go
helm repo add hertzbeat https://charts.hertzbeat.apache.org/
helm repo update
helm install hertzbeat hertzbeat/hertzbeat
四、首次使用:控制台快速配置
1. 登录系统
-
• 地址:http://IP:1157
-
• 账号:admin
-
• 密码:hertzbeat
-
添加监控(以 Linux 为例)
-
- 左侧菜单 → 监控管理 → 新增监控
-
- 选择监控类型:Linux 操作系统
-
- 填写参数:
-
• 主机 IP
-
• SSH 端口(默认 22)
-
• 用户名/密码或密钥
-
- 保存,自动开始采集
3. 告警通知配置(钉钉/微信/邮件)
-
- 左侧 → 告警通知 → 通知渠道
-
- 新增渠道:钉钉机器人/企业微信/邮箱/Slack/Webhook 等
-
- 设置告警规则、阈值、收敛策略
4. 查看指标大盘与状态页
-
• 概览:实时监控大盘、主机/服务状态
-
• 状态页:一键生成对外服务状态页,向用户展示可用性
五、核心配置文件说明
-
•
config/application.yml:主配置(端口、数据库、时序库、采集器) -
•
config/sureness.yml:用户账号权限配置 -
•
define/目录:各类监控 YML 模板(MySQL、Redis、K8s 等) -
• 自定义监控:只需编写 YML 即可扩展新监控类型
六、常见问题与排查
-
- 无法访问 1157
-
• 检查防火墙/安全组是否放行端口
-
• 查看日志:
logs/hertzbeat.log -
- 采集器连接失败
-
-
• 确认主服务 1158 端口通
-
• 检查 MANAGER_HOST 填写正确
-
-
- 监控无数据
-
-
• 确认目标主机端口、账号、权限正常
-
• 查看监控详情 → 最近采集日志
七、社区与资源
-
• Gitee 仓库:https://gitee.com/hertzbeat/hertzbeat
-
• 许可证:Apache License 2.0
-