找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1038

积分

1

好友

143

主题
发表于 7 天前 | 查看: 31| 回复: 0

介绍

HertzBeat(赫兹跳动)是一个拥有强大自定义监控能力,高性能集群,兼容 Prometheus,无需 Agent 的开源实时监控告警系统。

特点

  • 集监控+告警+通知为一体:支持对应用服务,应用程序,数据库,缓存,操作系统,大数据,中间件,Web 服务器,云原生,网络,自定义等监控,阈值告警通知一步到位。
  • 易用友好:无需 Agent,全 WEB 页面操作,鼠标点一点就能监控告警,零上手学习成本。
  • 将多种协议可配置化:将 Http, Jmx, Ssh, Snmp, Jdbc, Prometheus 等协议规范可配置化,只需在浏览器配置监控模版 YML 就能使用这些协议去自定义采集想要的指标。您相信只需配置下就能立刻适配一款 K8s 或 Docker 等新的监控类型吗?
  • 兼容 Prometheus 生态:兼容 Prometheus 的系统生态并且更多,只需页面操作就可以监控 Prometheus 所能监控的。
  • 高性能:支持多采集器集群横向扩展,支持多隔离网络监控,云边协同。
  • 自由的告警通知:邮件、Discord、Slack、Telegram、钉钉、微信、飞书、短信、Webhook、Server酱等方式消息及时送达。

HertzBeat的强大自定义,多类型支持,高性能,易扩展,低耦合,希望能帮助开发者和团队快速搭建自有监控系统。

强大的监控模版

HertzBeat 的特点在于自定义监控能力,无需 Agent。其核心是独特的监控模版设计。HertzBeat 自身并未创造新的采集协议,而是充分利用现有生态:SNMP协议采集网络设备信息,JMX规范采集 Java 应用信息,JDBC规范采集数据库信息,SSH执行脚本,HTTP接口解析,IPMI协议采集服务器信息等。

HertzBeat 将这些标准协议抽象、规范并配置化,最终通过编写 YML 格式的监控模版来定义如何使用这些协议采集所需指标。用户只需在 UI 页面编写并保存一个监控模版,就能立刻适配一种新的监控类型(如 K8s 或 Docker)。

内置监控类型

官方内置了大量监控模版类型,方便用户直接在页面添加使用,一款监控类型对应一个 YML 监控模版。

强大自定义功能

每个监控类型(无论内置或自定义)都视为一个监控模版。用户可通过修改监控模版来新增、修改、删除监控指标。模版内包含协议配置、环境变量、指标转换、计算、单位转换等一系列功能。

无需 Agent

传统监控系统常需在各种主机上安装、部署、调试 Agent,管理负担沉重。HertzBeat 采用 PULL 模式,通过不同协议直连对端系统采集数据,无需在对端部署任何 Agent 或 Exporter。

  • 监控 Linux 操作系统:在 HertzBeat 端输入 IP、端口、账户密码或密钥即可。
  • 监控 MySQL 数据库:在 HertzBeat 端输入 IP、端口、账户密码即可。
    所有密码等敏感信息均全链路加密。

高性能集群

当监控数量激增,单点采集器可能面临性能瓶颈或故障风险。HertzBeat 支持部署采集器集群,通过横向扩展指数级提升监控容量与采集性能。监控任务在集群中自动调度,支持故障迁移与负载均衡。单机模式与集群模式切换部署方便,无需额外组件。

云边协同

面对多云环境、多隔离网络(如两地三中心)场景,HertzBeat 支持部署边缘采集器集群,实现云边协同。
传统方案需在每个隔离网络部署一套完整监控系统,导致数据孤岛且维护不便。HertzBeat 的云边协同允许在多个隔离网络内部署边缘采集器,负责本网络内的数据采集并上报,由中心主服务统一调度、管理与展示,实现一套系统监控全局资源。

易用友好

  • All in One:集监控、告警、通知于一体,无需单独部署多个组件。
  • 全 UI 操作:新增监控、修改模版、配置告警阈值等均在 WEB 界面完成,无需修改文件或重启服务。
  • 自定义友好:一个监控模版 YML 即可自动生成对应的监控管理页面、数据图表及阈值配置。
  • 告警通知友好:基于表达式的阈值配置,支持多种通知渠道、告警静默、时段及级别过滤。

完全开源

HertzBeat 是 Dromara 开源社区顶级项目,Gitee GVP,采用 Apache2 协议。无监控数量、类型限制等伪开源约束。基于 Java+SpringBoot+TypeScript+Angular 主流技术栈构建,便于二次开发。
注意:开源不等同于免费,二次开发需尊重项目版权。
HertzBeat 已被 CNCF 云原生全景图收录。

安装运行

  1. Docker 环境下运行
    docker run -d -p 1157:1157 -p 1158:1158 --name hertzbeat tancloud/hertzbeat
  2. 浏览器访问 http://localhost:1157,默认账户密码 admin/hertzbeat
  3. 部署采集器集群
    docker run -d -e IDENTITY=custom-collector-name -e MANAGER_HOST=127.0.0.1 -e MANAGER_PORT=1158 --name hertzbeat-collector tancloud/hertzbeat-collector
    • -e IDENTITY=custom-collector-name:配置采集器唯一标识,多个采集器名称不能相同。
    • -e MODE=public:配置运行模式 (public 集群模式 或 private 云边模式)。
    • -e MANAGER_HOST=127.0.0.1:配置连接主 HertzBeat 服务的 IP。
    • -e MANAGER_PORT=1158:配置连接主 HertzBeat 服务的端口(默认1158)。

效果展示

登陆页面

用户管理由配置文件 sureness.yml 维护,可修改以管理用户、角色和权限。默认账户密码 admin/hertzbeat

概览页面

分类展示监控大类数量分布,直观查看并跳转管理。展示采集器集群状态(上线状态、任务、启动时间等)。下方展示最近告警列表、级别分布及处理率。

监控中心

支持对应用、数据库、操作系统、中间件、网络等监控的管理。以列表形式展示,支持新增、修改、删除、批量管理、标签分组及查询过滤。

新增/修改监控

配置监控实例的 IP、端口等参数,设置采集周期和调度方式。配置参数由对应监控模版定义。支持关联标签进行分组管理。

监控详情

  • 基本参数与指标数据:展示监控基本信息和所有指标的实时值(用于参考配置告警阈值)。
  • 历史数据图表:以趋势图展示数值指标的历史数据,支持查询小时、天、月级数据。
    ⚠️ 注意:历史图表需配置外置时序数据库(支持 IOTDB, TDengine, InfluxDB, GreptimeDB)以获得完整功能。

告警中心

展示已触发的告警消息,支持告警处理、标记、删除等批量操作。

阈值规则

配置监控可用性及指标阈值,触发告警。告警级别分通知、严重、紧急三级。支持可视化页面配置或表达式配置,可设置触发次数、级别、通知模版及关联监控。

告警收敛

对特定时间段内的重复告警进行去重,避免告警泛滥。可配置生效时间段、标签及告警级别匹配规则。

告警静默

在特定一次性或周期性时间段内屏蔽告警通知,适用于系统维护、免打扰时段等场景。支持按时间段、标签及告警级别匹配。

消息通知

将告警通过多种渠道通知指定接收人。

  • 接收人管理:维护接收人及其通知方式信息。
  • 通知策略管理:配置将哪些告警(按标签、级别匹配)通知给哪些接收人。
    支持邮件、钉钉、微信、飞书、短信、Webhook等十余种方式。支持自定义通知模版。

监控模版

HertzBeat 的核心功能,通过配置 YML 模版自定义采集指标。所有内置监控类型(如 mysql, website, jvm, k8s)均对应一个监控模版,用户可新增或修改以实现个性化监控。

项目地址

https://github.com/apache/hertzbeat
https://gitee.com/dromara/hertzbeat




上一篇:微软开源 VibeVoice:90 分钟播客级语音合成技术解析
下一篇:UCIe 2.0封装互连详解:Die-to-Die Adapter的带宽优化与多协议复用
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-16 04:05 , Processed in 0.099136 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表