重磅更新,HertzBeat 集群版发布,易用友好的开源实时监控系统!

什么是 HertzBeat?
HertzBeat 赫兹跳动 是一个拥有强大自定义监控能力,高性能集群,无需 Agent 的开源实时监控告警系统。
特点
- 集 监控+告警+通知 为一体,支持对应用服务,数据库,操作系统,中间件,云原生,网络等监控阈值告警通知一步到位。
- 易用友好,无需
Agent,全WEB页面操作,鼠标点一点就能监控告警,零上手学习成本。 - 将
Http,Jmx,Ssh,Snmp,Jdbc等协议规范可配置化,只需在浏览器配置监控模版YML就能使用这些协议去自定义采集想要的指标。您相信只需配置下就能立刻适配一款K8s或Docker等新的监控类型吗? - 高性能,支持多采集器集群横向扩展,支持多隔离网络监控,云边协同。
- 自由的告警阈值规则,
邮件DiscordSlackTelegram钉钉微信飞书短信Webhook等方式消息及时送达。
HertzBeat的强大自定义,多类型支持,高性能,易扩展,低耦合,希望能帮助开发者和团队快速搭建自有监控系统。
当然我们也提供了对应的 SAAS版本监控云服务,中小团队和个人无需再为监控自有资源而去部署一套监控系统,登录即可免费开始。

Github: https://github.com/dromara/hertzbeat
Gitee: https://gitee.com/dromara/hertzbeat
集群版来啦
我们之前的hertzbeat一直是单机版本,组件代码模块化但不支持采集器独立部署,所支持的监控数量上限受到了单节点的天然限制,且无法应对多个隔离网络的资源的统一纳管。
经过一个多月的迭代,我们重写了采集任务调度,采集器独立部署,设计单机版和集群版用同一套代码方便后续的维护升级,单机集群两种模式可相互切换无感知。最终很高兴,集群版如期与大家见面了。
集群版不仅仅给我们带来了更强大的监控性能,更有云边协同等功能让人充满想象。
高性能集群
- 支持部署采集器集群,多采集器集群横向扩展,指数级提高可监控数量与采集性能。
- 监控任务在采集器集群中自调度,单采集器挂掉无感知故障迁移采集任务,新加入采集器节点自动调度分担采集压力。
- 单机模式与集群模式相互切换部署非常方便,无需额外组件部署。

云边协同
支持部署边缘采集器集群,与主 HertzBeat 服务云边协同提升采集能力。
在多个网络不相通的隔离网络中,在以往的方案中我们需要在每个网络都部署一套监控系统,这导致数据不互通,管理部署维护都不方便。
HertzBeat 提供云边协同能力,可以在多个隔离网络部署边缘采集器,添加监控时指定采集器,采集器在隔离网络内部进行监控任务采集,采集数据上报,由主 HertzBeat 服务统一调度管理展示。
这多用于多个隔离数据中心或不同厂商云资源和云下资源的统一监控场景。

为什么要开源集群版?
往往一些做需要商业化的开源产品的策略会是单机版作为玩具给小玩家们的入门使用,然后集群版作为闭源产品给有需求的氪金玩家付费使用。这样的模式是可以说非常不错的且值得肯定的,即保证开源也得到了收益,也适用于很多开源项目的发展策略,可能会在商业路径上走得更通顺点。
网络上有些人会对这样的分单机和集群版的开源项目嗤之以鼻,觉得它们是伪开源,开源是噱头,他们觉得开源应该什么都开源免费出来,开源团队什么都应该无私奉献出来。。。。很无语这类人,有投入才有回报,当你免费使用着开源软件并得到价值的时候,是否应该想一想你付出给开源软件了什么而不是一味的索取。
那回到正题,我们又为什么要开源集群版?仅因为热爱开源?如果说我们还在少年可能这话你信,但一个快奔30还有家庭责任的人说出这话你信吗,我自己都不信😂。
首先我们来看看开源能带来什么,或者为什么要做开源。最开始全职开源的想法很简单,做自己喜欢的开源产品(已实现),程序员的梦想能部署在成千上万的服务器上(看下载量已实现),然后基于此开源产品挣钱(暂未哭)。
- 用户流量。开源项目免费提供给用户和开发者,吸引用户使用,宣传等方面都有优势。
- 用户信任。开源的产品天生容易获取用户的信任和使用耐心,或者说降低用户的信任门槛。
- 社区协作。开源的产品可以吸引到顶级贡献者一起贡献,接收用户的反馈issue,pr贡献等,在社区的驱动下使开源项目越来越好,正向反馈后也会有更多人参与和使用。社区协作我觉得这是开源的意义,而且这样不仅仅只是程序员之间的贡献代码协作,用户都是协作对象(比如我们这个项目有大量的运维朋友贡献代码和文档),如果是仅仅代码开源而不社区协作,那还不如放个安装包给别人免费使用下载就好。
- 产品生态。这对一些需要生态的产品是需要的,比如hertzbeat,需要支持对接各种类型协议的监控类型,大量的监控模版。一个好的开源项目生态才能吸引到其它贡献者贡献和分享,在生态中互通有无,最终大家在生态中都受益。这在闭源程序中是很难做到的。
上面几点,重在社区协作和产品生态,这也是开源集群版的原因,只有卷开源产品卷自己到更强的产品力,比如集群这一技术特性天生会吸引到开发者(而且集群本身就是我们社区协作的产物),会吸引到更多的用户和贡献者使用反馈大家一起迭代,社区驱动进而正向促进开源项目和满足用户功能体验。
而对于开源商业化,开源商业化的前提是得有个真正好的,受欢迎,被广泛使用的开源产品,然后在此基础上做商业化挣钱。
对了这里再说下开源不等同于免费,如果基于HertzBeat二次开发修改了logo,名称,版权等,请先找我们授权否则会有法律风险,我们有权利追诉破坏开源并因此获利的团队个人的全部违法所得。
免费使用不是白嫖,破坏开源的这种才是,目前发现大量白嫖怪,小心点哈你们。我每年正月初七都会祝你们用这些钱吃的安心,住的放心,玩的开心哈,做个人吧。(仅个人言论不代表社区)
尝试部署集群版
docker环境仅需一条命令即可开始
docker run -d -p 1157:1157 -p 1158:1158 --name hertzbeat tancloud/hertzbeat
或者使用 quay.io (若 dockerhub 网络链接超时)
docker run -d -p 1157:1157 -p 1158:1158 --name hertzbeat quay.io/tancloud/hertzbeat
-
浏览器访问
http://localhost:1157即可开始,默认账号密码admin/hertzbeat -
部署采集器集群
docker run -d -e IDENTITY=custom-collector-name -e MANAGER_IP=127.0.0.1 -e MANAGER_PORT=1158 --name hertzbeat-collector tancloud/hertzbeat-collector
-e IDENTITY=custom-collector-name: 配置此采集器的唯一性标识符名称,多个采集器名称不能相同,建议自定义英文名称。-e MANAGER_IP=127.0.0.1: 配置连接主HertaBeat服务的对外IP。-e MANAGER_PORT=1158: 配置连接主HertzBeat服务的对外端口,默认1158。
更多配置详细步骤参考 通过Docker方式安装HertzBeat

更多的 v1.4.0 版本更新
更多版本新功能更新欢迎探索,感谢社区小伙伴们的辛苦贡献,爱心💗!
- [doc] add v1.3.2 publish doc by @tomsun28 in https://github.com/dromara/hertzbeat/pull/1075
- remove elasticsearch unused param index by @Ceilzcx in https://github.com/dromara/hertzbeat/pull/1080
- feature support monitoring apache airflow by @luoxuanzao in https://github.com/dromara/hertzbeat/pull/1081
- add luoxuanzao as a contributor for code by @allcontributors in https://github.com/dromara/hertzbeat/pull/1083
- [collector] bugfix sshd cannot use private key to connect by @gcdd1993 in https://github.com/dromara/hertzbeat/pull/1084
- bugfix update dashboard alerts cards height not consist by @tomsun28 in https://github.com/dromara/hertzbeat/pull/1087
- Feature#serverchan by @zqr10159 in https://github.com/dromara/hertzbeat/pull/1092
- bugfix dm database monitoring connect error by @lisongning in https://github.com/dromara/hertzbeat/pull/1094
- add lisongning as a contributor for code by @allcontributors in https://github.com/dromara/hertzbeat/pull/1096
- update alert rule operator display “<=” to “>=” by @Ceilzcx in https://github.com/dromara/hertzbeat/pull/1097
- [doc] add custom monitoring relate document by @tomsun28 in https://github.com/dromara/hertzbeat/pull/1098
- add YutingNie as a contributor for code by @allcontributors in https://github.com/dromara/hertzbeat/pull/1103
- Remove unreachable status by @YutingNie in https://github.com/dromara/hertzbeat/pull/1102
- 139 auto update alert status by @l646505418 in https://github.com/dromara/hertzbeat/pull/1104
- feat: aviator fn for str contains, exists & matches by @mikezzb in https://github.com/dromara/hertzbeat/pull/1106
- add mikezzb as a contributor for code by @allcontributors in https://github.com/dromara/hertzbeat/pull/1107
- bugfix common alarm do not need monitorId tag existed by @tomsun28 in https://github.com/dromara/hertzbeat/pull/1108
- bugfix extern alert do not have labels mapping inner monitor by @tomsun28 in https://github.com/dromara/hertzbeat/pull/1111
- feature: support apache spark metrics monitoring by @a-little-fool in https://github.com/dromara/hertzbeat/pull/1114
- add a-little-fool as a contributor for code by @allcontributors in https://github.com/dromara/hertzbeat/pull/1116
- [Feature]Add third report of TenCloud by @zqr10159 in https://github.com/dromara/hertzbeat/pull/1113
- [Feature]Add third report of TenCloud (#1113) by @zqr10159 in https://github.com/dromara/hertzbeat/pull/1119
- [manager] fix: can query by tags when tagValue is null by @l646505418 in https://github.com/dromara/hertzbeat/pull/1118
- bugfix the notification template environment variable display error by @tomsun28 in https://github.com/dromara/hertzbeat/pull/1120
- add littlezhongzer as a contributor for code by @allcontributors in https://github.com/dromara/hertzbeat/pull/1127
- feature:monitor brearer token api, ignore letter case to comparison by @littlezhongzer in https://github.com/dromara/hertzbeat/pull/1122
- docs: enhance README by @mikezzb in https://github.com/dromara/hertzbeat/pull/1128
- Update app-oracle.yml by @ChenXiangxxxxx in https://github.com/dromara/hertzbeat/pull/1129
- add ChenXiangxxxxx as a contributor for code by @allcontributors in https://github.com/dromara/hertzbeat/pull/1130
- fix alarm silence strategy setting failed by @Ceilzcx in https://github.com/dromara/hertzbeat/pull/1131
- support run sql script file in jdbc protocol config by @tomsun28 in https://github.com/dromara/hertzbeat/pull/1117
- bugfix return old cache json file when upgrade version by @tomsun28 in https://github.com/dromara/hertzbeat/pull/1137
- support ssh protocol config choose if reuse connection by @tomsun28 in https://github.com/dromara/hertzbeat/pull/1136
- feat(web): alert threshold UI support matches & contains by @mikezzb in https://github.com/dromara/hertzbeat/pull/1138
- support hertzbeat metrics collector cluster by @tomsun28 in https://github.com/dromara/hertzbeat/pull/1101
- add collector card in dashboard by @tomsun28 in https://github.com/dromara/hertzbeat/pull/1147
- bugfix: linux collect warning: bad syntax, perhaps a bogus ‘-’ by @Mr-zhou315 in https://github.com/dromara/hertzbeat/pull/1151
- add Mr-zhou315 as a contributor for code by @allcontributors in https://github.com/dromara/hertzbeat/pull/1157
- support config timezone locale language region on web ui by @tomsun28 in https://github.com/dromara/hertzbeat/pull/1154
- bugfix monitoring template app name already exists by @tomsun28 in https://github.com/dromara/hertzbeat/pull/1152
- bugfix can not startup when error monitoring template yml file by @tomsun28 in https://github.com/dromara/hertzbeat/pull/1153
- tags also deleted when the monitor is deleted by @Ceilzcx in https://github.com/dromara/hertzbeat/pull/1159
- monitoring param host with http head will not be error reported by @littlezhongzer in https://github.com/dromara/hertzbeat/pull/1155
- [script] feature update build.sh and Dockerfile: detect app version a… by @XimfengYao in https://github.com/dromara/hertzbeat/pull/1162
- add XimfengYao as a contributor for code by @allcontributors in https://github.com/dromara/hertzbeat/pull/1163
- [doc] add collector clusters document by @tomsun28 in https://github.com/dromara/hertzbeat/pull/1161
- [hertzbeat] release hertzbeat version v1.4.0 by @tomsun28 in https://github.com/dromara/hertzbeat/pull/1168
⛄ 已支持
我们将监控采集类型(mysql,jvm,k8s)都定义为yml监控模版,用户可以导入这些模版来支持对应类型的监控!
欢迎大家一起贡献你使用过程中自定义的通用监控类型监控模版。
- Site Monitor, Port Availability, Http Api, Ping Connectivity, Jvm, SiteMap Full Site, Ssl Certificate, SpringBoot, FTP Server
- Mysql, PostgreSQL, MariaDB, Redis, ElasticSearch, SqlServer, Oracle, MongoDB, Damon, OpenGauss, ClickHouse, IoTDB, Redis Cluster
- Linux, Ubuntu, CentOS, Windows
- Tomcat, Nacos, Zookeeper, RabbitMQ, Flink, Kafka, ShenYu, DynamicTp, Jetty, ActiveMQ
- Kubernetes, Docker
- Huawei Switch, HPE Switch, TP-LINK Switch, Cisco Switch
- and more for your custom monitoring.
- Notifications support
DiscordSlackTelegramMailPinningWeChatFlyBookSMSWebhook. - 和更多自定义监控模版。
- 通知支持
DiscordSlackTelegram邮件钉钉微信飞书短信Webhook。
欢迎star一波来支持我们哦。
Github: https://github.com/dromara/hertzbeat
Gitee: https://gitee.com/dromara/hertzbeat
相关文章:
重磅更新,HertzBeat 集群版发布,易用友好的开源实时监控系统!
什么是 HertzBeat? HertzBeat 赫兹跳动 是一个拥有强大自定义监控能力,高性能集群,无需 Agent 的开源实时监控告警系统。 特点 集 监控告警通知 为一体,支持对应用服务,数据库,操作系统,中间件…...
.NET6使用微信小程序授权登录,获取手机号
1.在appsettings配置你的小程序配置信息 //微信小程序信息配置"WechatConfig": {"appid": "", //小程序ID"secret": "" //小程序秘钥},2.请求接口时先获取Access_token #region 获取小程序的Access_tokenpublic object GetA…...
游戏类APP如何提升用户的活跃度?
移动游戏行业,追求使用率的营销能发挥强大的功效,可帮助减少玩家流失、追回流失的玩家、提高活跃玩家所带来的价值以及增加付费玩家贡献的收入。 一、了解玩家需求 想要提升玩家的活跃,首先要知道,玩家喜欢玩哪些平台的游戏&…...
【Sklearn】基于支持向量机算法的数据分类预测(Excel可直接替换数据)
【Sklearn】基于支持向量机算法的数据分类预测(Excel可直接替换数据) 1.模型原理1.1 数学模型1.2 模型原理2.模型参数3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果1.模型原理 支持向量机(Support Vector Machine,SVM)是一种用于分类和回归的监督学习算法,其基本…...
抽象类与接口
一,类 定义类 部分与ES6用法基本一致。通过class定义类名,并通过constructor定义构造函数,通过super关键字来调用父类的方法。 class Person {name: string; // 属性constructor(name: string) { // 构造函数this.name name;}eat()…...
第三章,矩阵,09-线性方程组解的判断与求法、矩阵方程
第三章,矩阵,09-线性方程组解的判断与求法、矩阵方程 定理推论1推论2推论3推论4 矩阵方程AXB解法解的存在性推论 玩转线性代数(21)线性方程组解的判断与求法的笔记,相关证明以及例子见原文 定理 对n元线性方程组 A x b Axb Axb,…...
Vue-4.编译器VsCode
准备 Vue-1.零基础学习Vue Vue-2.nodejs的介绍和安装 Vue-3.vue简介 为什么用VsCode VsCode 是Vue官网首推的编译器它是完全免费的 下载安装VsCode 下载地址 安装的时候不停地下一步直到完成即可 安装插件 安装汉化插件 要将 Visual Studio Code(VSCode&am…...
Neo4j之Aggregation基础
在 Neo4j 中,聚合(Aggregation)是对数据进行计算、汇总和统计的过程。以下是一些使用聚合函数的常见例子,以及它们的解释: 计算节点数量: MATCH (p:Person) RETURN count(p) AS totalPersons;这个查询会计…...
Python 函数
Built-in Functions — Python 3.11.4 documentation...
Spring(三):Spring中Bean的生命周期和作用域
前言 在 Spring 中,那些组成应用程序的主体及由 Spring IOC 容器所管理的对象,被称之为 bean。简单地讲,bean 就是由 IOC 容器初始化、装配及管理的对象,除此之外,bean 就与应用程序中的其他对象没有什么区别了。而 b…...
【AutoLayout案例03-设置底部按钮之间相同间距 Objective-C语言】
一、好,咱们继续啊 1.咱们继续把autoLayout介绍一下 咱们的自动布局 给大家介绍一下 那么,自动布局呢 继续咱们给大家做的案例 做几个例子 把这几个例子做完以后 我们再给它 我们再给大家说一下,如何通过代码,来实现自动布局 虽然说,通过代码来实现自动布局,并不推荐 但…...
代码随想录算法训练营20期|第七天|哈希表part02|454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和 ● 总结
454.四数相加II 比较巧思的解法,先把nums1 和nums2的数两两相加,并存储sum和次数 再在nums3和nums4里找对应和sum和为0的数值i,j Time: N^2 Space:N^2, 最坏情况下A和B的值各不相同,相加产生的数字个数为 n^2 class Solution {public int fo…...
NavMeshPlus 2D寻路插件
插件地址:h8man/NavMeshPlus: Unity NavMesh 2D Pathfinding (github.com) 我对Unity官方是深恶痛觉,一个2D寻路至今都没想解决,这破引擎早点倒闭算了. 这插件是githun的开源项目,我本身是有写jps寻路的,但是无法解决多个单位互相阻挡的问题(可以解决但是有性能问…...
【03】基础知识:typescript中的函数
一、typescript 中定义函数的方法 函数声明法 function test1(): string {return 返回类型为string }function test2(): void {console.log(没有返回值的方法) }函数表达式/匿名函数 const test3 function(): number {return 1 }二、typescript 中 函数参数写法 1、typesc…...
ssm社区文化宣传网站源码和论文
ssm社区文化宣传网站源码和论文019 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 研究或设计的目的和意义: (一)研究目的: 通过本次课题能够将所学的Java编程知识以及Mysql数据库知…...
Go语言工程实践之测试与Gin项目实践
Go 语言并发编程 及 进阶与依赖管理_软工菜鸡的博客-CSDN博客 03 测试 回归测试一般是QA(质量保证)同学手动通过终端回归一些固定的主流程场景 集成测试是对系统功能维度做测试验证,通过服务暴露的某个接口,进行自动化测试 而单元测试开发阶段,开发者对单独的函数…...
排查docker无法启动问题
查看Linux系统操作日志(最后200行就可以排查): tail -200f /var/log/messages...
[C++ 网络协议] 套接字和地址族、数据序列
目录 1. 套接字 1.1 在Linux平台下构建套接字 1.1.1 用于接听的套接字(服务器端套接字) 1.1.2 用于发送请求的套接字(客户端套接字) 1.2 在Windows平台下构建套接字 1.2.1 Winsock的初始化 1.2.2 用于接听的套接字(服务器端套接字) 1.2.3 用于发送请求的套接字(客户端套…...
AI 绘画Stable Diffusion 研究(八)sd采样方法详解
大家好,我是风雨无阻。 本文适合人群: 希望了解stable Diffusion WebUI中提供的Sampler究竟有什么不同,想知道如何选用合适采样器以进一步提高出图质量的朋友。 想要进一步了解AI绘图基本原理的朋友。 对stable diffusion AI绘图感兴趣的朋…...
线程池满了如何处理
某天搬砖时遇到一个问题,我创建了一个线程池执行任务,刚开始的时候还是一切,结果第二天发现有些任务没有正常执行。一看日志才发现是高峰期时线程池给我占用慢了,任务被丢掉了。 举个例子,我创建了一个线程池&#…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...
HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散
前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说,在叠衣服的过程中,我会带着团队对比各种模型、方法、策略,毕竟针对各个场景始终寻找更优的解决方案,是我个人和我司「七月在线」的职责之一 且个人认为,…...
