apache/hertzbeatApache HertzBeat是一款易用、开源的实时监控系统,通过Docker镜像可实现快速部署。该系统集监控、告警、通知功能于一体,支持无代理部署、高性能集群扩展、Prometheus生态兼容,提供强大的自定义监控和状态页面构建能力。适用于监控Web服务、数据库、缓存、操作系统、中间件、云原生等多种服务类型,帮助用户快速构建专属监控体系。
通过Docker镜像可快速部署HertzBeat,支持单节点部署和集群扩展,以下为详细步骤。
单节点快速部署
基础启动命令
执行以下命令启动HertzBeat容器:
shelldocker run -d -p 1157:1157 -p 1158:1158 --name hertzbeat apache/hertzbeat
-d:后台运行容器-p 1157:1157:映射Web界面端口(1157为默认Web端口)-p 1158:1158:映射集群通信端口(用于 collector 节点连接)--name hertzbeat:指定容器名称访问Web界面
容器启动后,通过浏览器访问 http://<主机IP>:1157,默认账号密码:admin/hertzbeat。
高级部署(含数据持久化与配置自定义)
如需数据持久化或自定义配置,可通过挂载卷实现:
shelldocker run -d -p 1157:1157 -p 1158:1158 \ -e LANG=en_US.UTF-8 \ -e TZ=Asia/Shanghai \ -v $(pwd)/data:/opt/hertzbeat/data \ # 数据持久化(H2数据库文件) -v $(pwd)/logs:/opt/hertzbeat/logs \ # 日志持久化 -v $(pwd)/application.yml:/opt/hertzbeat/config/application.yml \ # 自定义配置文件 -v $(pwd)/sureness.yml:/opt/hertzbeat/config/sureness.yml \ # 用户权限配置文件 --name hertzbeat apache/hertzbeat
参数说明:
-e LANG:设置系统语言-e TZ:设置时区(如 Asia/Shanghai 为北京时间)-v $(pwd)/data:/opt/hertzbeat/data:挂载数据目录,避免容器删除导致数据丢失-v $(pwd)/application.yml:挂载自定义配置文件,覆盖容器默认配置集群部署(可选,Collector节点)
如需扩展监控能力,可部署Collector节点组成集群:
shelldocker run -d \ -e IDENTITY=collector-01 \ # Collector唯一标识(集群内需唯一) -e MANAGER_HOST=192.168.1.100 \ # 主HertzBeat服务器IP -e MANAGER_PORT=1158 \ # 主服务器集群通信端口(默认1158) -e MODE=public \ # 运行模式(public:公共集群;private:云边协同) -v $(pwd)/collector-logs:/opt/hertzbeat-collector/logs \ # Collector日志持久化 --name hertzbeat-collector apache/hertzbeat-collector
启动后,通过主服务器Web界面(http://<主机IP>:1157)的“采集器管理”可查看已注册的Collector节点。
如需自定义监控配置、数据存储方式或用户权限,需修改以下配置文件并挂载到容器中。
1. 主配置文件(application.yml)
创建 application.yml 并挂载,配置内容可参考 官方模板,关键配置项如下:
数据存储配置(选择一种存储方式启用):
yamlwarehouse: store: # JPA存储(默认启用,适合小规模数据) jpa: enabled: true expire-time: 1h # 历史数据保留时间 max-history-record-num: 6000 # 最大保留记录数 # TDengine存储(大规模数据场景) td-engine: enabled: false url: jdbc:TAOS-RS://localhost:6041/hertzbeat username: root password: taosdata # IoTDB存储 iot-db: enabled: false host: 127.0.0.1 rpc-port: 6667 username: root password: root
告警通知配置(以邮件为例):
yamlalert: notice: mail: enabled: true host: smtp.example.com port: 465 username: *** password: your-password from: ***
2. 用户权限配置(sureness.yml)
创建 sureness.yml 配置用户账户与权限,参考 官方模板,关键配置项如下:
用户账户配置:
yamlaccount: - appId: admin # 用户名 credential: hertzbeat # 密码 role: [admin] # 角色(admin:管理员;user:普通用户;guest:访客) - appId: user credential: user123 role: [user]
API权限控制:
yamlresourceRole: - /api/monitor/**===get===[admin,user,guest] # 监控数据查询权限 - /api/monitor/**===delete===[admin] # 监控配置删除权限(仅管理员)
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务