Prometheus + Grafana + alertmanager + node-exporter 一套拉完,少说 5 个容器、3 份配置、1 个 PromQL 学习成本。如果只是想"监控几十台机器 + 微信告警",杀鸡用了牛刀。Dromara HertzBeat(原 TanCloud)走另一条路——一个容器,监控 + 告警 + 可视化全打包,无 Agent 协议直采(HTTP / SNMP / JDBC / SSH),连 exporter 都不用装。这篇文章讲清楚容器化部署、初始账号、监控模板、配置持久化。
阅读对象:中小团队想"快速搭一套能用"的监控体系、或者觉得 Prometheus 体系太重的同学
覆盖范围:HertzBeat 1.x 容器化部署、初始账号、时区/中文环境、监控模板(Linux/MySQL/Redis/K8s/Windows/SNMP)、告警通知(钉钉/企微/飞书)
一、为什么是 HertzBeat
传统监控方案的痛点:
- Prometheus 体系:要装 N 个 exporter、PromQL 学习成本、告警要写规则、调仪表盘要懂 PromQL
- Zabbix:重型、关系数据库后端、UI 古老、容器适配差
- 夜莺(Nightingale):国产不错但要分 Categraf + n9e + Transfer 多个组件
- Datadog / New Relic:SaaS、按量计费、数据出境问题
HertzBeat 的设计哲学是"协议直采,零 Agent":
- HTTP 协议:网站、API、Spring Boot Actuator、K8s API
- SNMP:路由器、交换机、打印机
- JDBC:MySQL、PostgreSQL、Oracle、达梦、人大金仓
- SSH:执行命令采集(CPU/内存/磁盘)
- JMX:JVM 应用
- Modbus / OPC-UA:工业协议
一个 Jar 包搞定所有采集、可视化、告警、用户权限。
When to use:中小规模(< 200 监控对象)、要"快速上手"、团队不愿意学 PromQL、想用国产开源规避合规问题。规模再大(1000+ 节点、PB 级时序数据)还是建议回 Prometheus + VictoriaMetrics 体系。
二、容器化部署
2.1 host 网络模式(最简)
| |
为什么用 host 网络:HertzBeat 默认监听 1157 端口(Web)、反向连接 agent 时端口动态分配。host 模式省去端口映射的麻烦,也避免一些 SNMP/JMX 协议在 NAT 下的奇怪问题。
2.2 端口映射模式
| |
挂载配置:生产环境必须把
application.yml、sureness.yml挂出来,否则容器一升级配置就丢。HertzBeat 升级会清空容器内/opt/hertzbeat/data之外的目录。
2.3 初始账号
访问 http://{{HOST}}:1157/passport/login:
- 默认账号:
admin - 默认密码:
hertzbeat
生产环境:首次登录立即改密码,或在
sureness.yml里直接配置账号体系(HertzBeat 支持 RBAC 和 LDAP)。
三、添加监控对象
HertzBeat 把"采集什么"封装成"监控模板"——选模板、填 IP/端口/凭据、保存。
3.1 Linux 主机监控(SSH 协议)
监控 → 新建监控 → 选择模板:Linux:
- 主机:填目标 IP
- 端口:22
- 用户名/密码:SSH 凭据
- 监控周期:60s(默认)
保存后 HertzBeat 通过 SSH 上去 cat /proc/stat、free -m、df -h 等命令采集指标。
3.2 MySQL 监控(JDBC 协议)
监控 → 新建监控 → 模板:Mysql:
- 主机、端口、数据库、用户名、密码
- 监控指标:连接数、QPS、慢查询、InnoDB 缓冲池等
3.3 Redis 监控
监控 → 新建监控 → 模板:Redis:
- 支持有密码和无密码两种连接方式
- 监控内存使用、连接数、命中率、Key 数量
3.4 Kubernetes 监控
监控 → 新建监控 → 模板:Kubernetes:
- 填 K8s API Server 地址 + ServiceAccount Token
- 自动发现 Pod、Deployment、Node 资源
3.5 网站监控(HTTP 协议)
监控 → 新建监控 → 模板:HTTP_API 或 网站监测:
- 填 URL
- 选择 HTTP 方法、Header、断言(状态码、响应体关键字)
- 间隔时间和超时
3.6 SNMP 监控
监控 → 新建监控 → 模板:SNMP:
- 填目标 IP、SNMP community(默认 public)
- OID 模板自动发现接口、流量
HertzBeat v1.6+ 模板生态:官方维护 100+ 模板(Linux/Windows/MySQL/PostgreSQL/Redis/MongoDB/Elasticsearch/Kafka/ZK/Nginx/Apache/Docker/交换机/路由器/…),基本覆盖了常见监控对象。社区也持续贡献新模板。
四、告警通知
HertzBeat 支持多种通知渠道(告警 → 通知媒介):
| 渠道 | 适用 |
|---|---|
| 钉钉机器人 | 国内团队首选 |
| 企业微信机器人 | 国内团队 |
| 飞书机器人 | 字节系团队 |
| Slack | 海外 |
| 邮件 | 通用 |
| Webhook | 自定义系统对接 |
| Telegram / Discord | 海外 |
钉钉告警示例
告警 → 通知媒介 → 新增 → 钉钉机器人:
- 名称:DingTalk-Alert
- Webhook URL:
https://oapi.dingtalk.com/robot/send?access_token={{TOKEN}} - 关键字:自定义
告警 → 告警定义 → 新增规则:
- 选择监控对象
- 指标:
cpu_usage - 表达式:
cpu_usage > 80 - 持续时间:5 分钟
- 通知媒介:DingTalk-Alert
告警收敛:HertzBeat 支持"标签路由 + 抑制规则",避免同一时刻同一原因触发几十条告警。
五、可视化
HertzBeat 内部集成了图表(基于 ECharts),可以:
- 单个监控对象查看历史曲线(CPU、内存、磁盘、QPS 等)
- 多个监控对象叠到同一张图对比
- 创建 Dashboard 把常用图钉到首页
Grafana 不是 HertzBeat 的依赖。HertzBeat 自己就有完整的可视化能力。如果团队已经在用 Grafana + Prometheus,HertzBeat 也可以通过
/api/metrics端点把数据暴露出去给 Prometheus 抓取(“反向对接”)。
六、踩坑清单
- SSH 监控拿不到数据——目标机器没装
bc命令(cat /proc/loadavg的格式化用到),或~/.bashrc里有 prompt 输出 - MySQL 监控 “Access denied”——MySQL 8 默认
caching_sha2_password认证插件,HertzBeat 旧版本只支持mysql_native_password,要么改用户认证插件,要么升级 HertzBeat - SNMP 监控返回 timeout——目标设备防火墙/ACL 拦截了 UDP 161,或者 community 不对
- 数据目录丢失——升级前没挂载
/opt/hertzbeat/data,容器销毁后所有监控配置清零 - 告警收不到——先在
告警 → 告警中心看历史告警有没有触发,再检查通知媒介的 webhook 是否能 curl 通 - 中文乱码——
LANG=zh_CN.UTF-8没设,或者容器内字体不全,加-v /usr/share/fonts:/usr/share/fonts:ro
七、2024+ 视角补充
本文写于 2024-03,2025-2026 期间 HertzBeat 关键演进:
- HertzBeat 1.7+ / 1.8+:AI 异常检测(内置时序异常识别)、智能告警降噪(关联分析)、自研存储引擎 v2——单机监控 1000+ 节点
- Cloud Native 化:1.7+ 推出 HertzBeat Operator(K8s Operator 模式),CRD 管理监控对象
- 告警通知生态完善:1.8+ 内置 PagerDuty / Opsgenie / Slack / 钉钉 / 企微 / 飞书——oncall 集成开箱即用
- 多语言 / 多协议:1.8+ 模板数 200+(新增 Modbus / OPC-UA / IEC104 工业协议——工控监控更专业)
- 多租户 / 团队权限:1.7+ RBAC 增强,从"全局管理员"到"组织 / 项目 / 视图"三级权限
- 时序数据库后端可选:1.8+ 支持 VictoriaMetrics / InfluxDB / TDengine 作为存储后端,不再绑定 H2 / 内置 TSDB
实战建议(2025-2026 视角):
- 中小规模 / 国产化 → HertzBeat 1.8+ 仍是首选(vs Prometheus 体系仍更轻量)
- 大规模(1000+ 节点) → 建议 HertzBeat + VictoriaMetrics 组合
- 工控 / IoT 场景 → HertzBeat 1.8+ 工业协议完善,vs 传统 Zabbix 优势明显
- K8s 集群 → 仍推荐 kube-prometheus-stack(生态成熟度 HertzBeat 暂不如)
八、参考资料
- HertzBeat 官网:https://hertzbeat.com
- 文档中心:https://hertzbeat.com/docs/
- GitHub 仓库:https://github.com/dromara/hertzbeat
- 模板中心:https://hertzbeat.com/docs/template
下一步
- 想做"日志监控"?→ Loki + Promtail 日志架构 一文
- 想要传统三件套?→ Prometheus 监控告警体系 一文
- 想给团队搭可视化大屏?→ Grafana 可视化面板实战 一文
