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

news2024/12/23 0:46:43

什么是 HertzBeat?

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

特点

  • 监控+告警+通知 为一体,支持对应用服务,数据库,操作系统,中间件,云原生,网络等监控阈值告警通知一步到位。
  • 易用友好,无需 Agent,全 WEB 页面操作,鼠标点一点就能监控告警,零上手学习成本。
  • Http,Jmx,Ssh,Snmp,Jdbc 等协议规范可配置化,只需在浏览器配置监控模版 YML 就能使用这些协议去自定义采集想要的指标。您相信只需配置下就能立刻适配一款 K8sDocker 等新的监控类型吗?
  • 高性能,支持多采集器集群横向扩展,支持多隔离网络监控,云边协同。
  • 自由的告警阈值规则,邮件 Discord Slack Telegram 钉钉 微信 飞书 短信 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,名称,版权等,请先找我们授权否则会有法律风险,我们有权利追诉破坏开源并因此获利的团队个人的全部违法所得。
免费使用不是白嫖,破坏开源的这种才是,目前发现大量白嫖怪,小心点哈你们。我每年正月初七都会祝你们用这些钱吃的安心,住的放心,玩的开心哈,做个人吧。(仅个人言论不代表社区)

尝试部署集群版

  1. 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

  1. 浏览器访问 http://localhost:1157 即可开始,默认账号密码 admin/hertzbeat

  2. 部署采集器集群

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 Discord Slack Telegram Mail Pinning WeChat FlyBook SMS Webhook.
  • 和更多自定义监控模版。
  • 通知支持 Discord Slack Telegram 邮件 钉钉 微信 飞书 短信 Webhook

欢迎star一波来支持我们哦。

Github: https://github.com/dromara/hertzbeat
Gitee: https://gitee.com/dromara/hertzbeat

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/880867.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入源码分析kubernetes informer机制(零)简单了解informer

[阅读指南] 基于kubernetes 1.27 stage版本 为了方便阅读&#xff0c;后续所有代码均省略了错误处理及与关注逻辑无关的部分。 文章目录 关于client-goInformer是什么为什么需要informerInformer工作流程后续分析计划 关于client-go client-go是kubernetes节点与服务端进行资源…

Python-OpenCV中的图像处理-视频分析

Python-OpenCV中的图像处理-视频分析 视频分析Meanshift算法Camshift算法光流 视频分析 学习使用 Meanshift 和 Camshift 算法在视频中找到并跟踪目标对象: Meanshift算法 Meanshift 算法的基本原理是和很简单的。假设我们有一堆点&#xff08;比如直方 图反向投影得到的点&…

如何在 3Ds Max 中准确地将参考图像调整为正确的尺寸?

您是否想知道如何在 3Ds Max 中轻松直观地调整参考图像的大小&#xff0c;而无需借助第三方解决方案、插件或脚本&#xff1f; 我问自己这个问题&#xff0c;并高兴地发现了FFD Box 2x2x2&#xff0c;我无法停止钦佩这个修改器的多功能性。 在本文中&#xff0c;我想与您分享一…

免费网站客服机器人来了(基于有限状态机),快来体验下

免费网站客服机器人来了,快来体验下 51jiqiren.cn 五分钟就可以完成一个简单的机器人. 懂json的同学可以自定义状态和状态跳转,完成复杂的业务流程. 更多功能还在开发中. 网站右下角点"联系客服"截图: 弹出来了: 后端管理界面: 有限状态机界面: 数据界面: 在网站…

微信小程序云开发快速入门(2/4)

前言 我们对《微信小程序云开发快速入门&#xff08;1/4&#xff09;》的知识进行回顾一下。在上章节我们知道了云开发的优势以及能力&#xff0c;并且我们还完成了码仔备忘录的本地版到网络版的改造&#xff0c;主要学习了云数据库同时还通过在小程序使用云API直接操作了云数…

推断统计(配对样本t检验)

根据题目我们也可以看出配对样本 t 检验是用来检验两配对正态总体的均值是否存在显著差异的一种假设检验方法&#xff0c;虽然是两组数据但是其来自同一部分个体在两个时间段内的测试数据&#xff0c;是同一部份个体&#xff01; 进行配对样本 t 检验之后也是分别做出原假设和备…

深入探索Spring框架:解密核心原理、IOC和AOP的奥秘

深入探索Spring框架&#xff1a;解密核心原理、IOC和AOP的奥秘 1. 理解 Spring 的核心原理1.1 控制反转&#xff08;IOC&#xff09;1.2 面向切面编程&#xff08;AOP&#xff09; 2. 深入 IOC 容器的实现机制2.1 容器的创建2.2 Bean 的生命周期2.3 依赖注入 3. 深入 AOP 的实现…

C语言——自定义类型详解[结构体][枚举][联合体]

自定义类型详解 前言&#xff1a;一、结构体1.1结构体的声明1.2结构体内存对齐1.3位段&#xff08;位域&#xff09; 二、枚举2.1枚举类型的定义2.2枚举类型的优点2.3枚举的使用 三、联合体3.1联合体类型的定义3.2联合体的特点3.3联合体大小的计算 前言&#xff1a; 我打算把结…

457. 环形数组是否存在循环

457. 环形数组是否存在循环 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a;经验吸取 原题链接&#xff1a; 457. 环形数组是否存在循环 https://leetcode.cn/problems/circular-array-loop/description/ 完成情况&#xff1a; 解题思路…

01|Java中常见错误或不清楚

补充&#xff1a;length vs length() vs size() 1 java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性. 2 java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法. 3.java中的siz…

你是否知道,汽车充电桩控制主板也有可调性?

你是否知道&#xff0c;汽车充电桩控制主板也有可调性?它可以随着使用环境的改变&#xff0c;调整充电桩的参数&#xff0c;满足不同的需求。那么&#xff0c;它的可调性到底体现在哪些方面呢? 汽车充电桩控制板的可调性主要体现在以下三个方面&#xff1a; 1. 设备的参数调节…

nodejs+vue+elementui考研互助交流网站

语言 node.js 框架&#xff1a;Express 前端:Vue.js 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat 开发软件&#xff1a;VScode 前端nodejsvueelementui,该系统采用vue技术和B/S结构进行开发设计&#xff0c;后台使用MySQL数据库进行数据存储。系统主要分为两大模…

Unity框架学习--5 事件中心管理器

作用&#xff1a;访问其它脚本时&#xff0c;不直接访问&#xff0c;而是通过发送一条“命令”&#xff0c;让监听了这条“命令”的脚本自动执行对应的逻辑。 原理&#xff1a; 1、让脚本向事件中心添加事件&#xff0c;监听对应的“命令”。 2、发送“命令”&#xff0c;事件…

低压系统浪涌保护器的综合应用方案

低压系统浪涌保护器&#xff08;Surge Protective Device&#xff0c;SPD&#xff09;是一种用于限制瞬态过电压和导引泄放电涌电流的非线性防护器件&#xff0c;用以保护耐压水平低的电器或电子系统免遭雷击及雷击电磁脉冲或操作过电压的损害。SPD的应用可以有效提高低压系统的…

首发 | FOSS分布式全闪对象存储系统白皮书

一、 产品概述 1. 当前存储的挑战 随着云计算、物联网、5G、大数据、人工智能等新技术的飞速发展&#xff0c;数据呈现爆发式增长&#xff0c;预计到2025年中国数据量将增长到48.6ZB&#xff0c;超过80%为非结构化数据。 同时&#xff0c;数字经济正在成为我国经济发展的新…

怎么使用手机远程控制Win10电脑?

可以使用手机远程控制电脑吗&#xff1f; “近期&#xff0c;我将出差一段时间。问题是&#xff0c;我希望能够从很远的地方浏览家里电脑上的一些东西&#xff0c;但我不会一直随身携带笨重的笔记本电脑。我可以手机远程访问Windows电脑吗&#xff1f; ” 当然&am…

亚马逊feedback和review有什么区别

在亚马逊上&#xff0c;"Feedback"&#xff08;反馈&#xff09;和"Review"&#xff08;评论&#xff09;是两个不同的概念&#xff0c;它们在购物体验中起着不同的作用。 Feedback&#xff08;反馈&#xff09;&#xff1a; 亚马逊的"Feedback"…

Jay17 2023.8.14日报 即 留校集训阶段性总结

8.14 打了moeCTF&#xff0c;还剩一题ak Web。 Jay17-集训结束阶段性总结&#xff1a; 集训产出&#xff1a; 自集训开始以来一个半月&#xff0c;最主要做的事情有三。 一是跟课程&#xff0c;复习学过的知识&#xff0c;学习新的知识&#xff1b;目前课程已大体听完&…

QGIS3.28的二次开发九:添加矢量要素

对矢量要素的编辑是 GIS 软件很重要的功能点之一&#xff0c;也是最难实现的功能点之一。编辑矢量要素涉及到很多方面的考虑&#xff0c;包括且不限于矢量要素的几何类型&#xff0c;拓扑关系&#xff0c;构成要素的节点的增删改&#xff0c;编辑会话 (session) 的启动、回溯和…

Tuxera NTFS Mac2023最新免费版Mac读写工具

有时候我们在使用苹果笔记本的时候&#xff0c;会遇到一些问题&#xff0c;比如怎么打开移动硬盘&#xff0c;或者为什么苹果电脑读不出U盘。这些问题可能让我们感到困惑和沮丧&#xff0c;但其实都有解决办法。本文就来为大家介绍一下苹果笔记本怎么打开移动硬盘和苹果电脑读不…