Compare commits

...
Author SHA1 Message Date
tomsun28 c8dd0cd0c9 update doc fix wrong manager word
Signed-off-by: tomsun28 <tomsun28@outlook.com>
2025-11-08 09:39:08 +08:00
tomsun28 592fdd99bf update doc fix wrong manager word
Signed-off-by: tomsun28 <tomsun28@outlook.com>
2025-11-06 23:22:08 +08:00
Duansg fd2202fcaf [doc] add new committer blog (#3847) 2025-11-06 21:37:17 +08:00
a7629e317a Modify the issue of incorrect signature in Alibaba's SMS sending (#3788)
Co-authored-by: Logic <zqr10159@dromara.org>
Co-authored-by: Tomsun28 <tomsun28@outlook.com>
Co-authored-by: shown <yuluo08290126@gmail.com>
Co-authored-by: yunfan24 <yunfan24@outlook.com>
Co-authored-by: Calvin <zhengqiwei@apache.org>
Co-authored-by: aias00 <liuhongyu@apache.org>
Co-authored-by: Duansg <siguoduan@gmail.com>
2025-11-06 10:38:48 +08:00
DeleiGuoandshown 3a378f8710 [feature] support the security settings for robot signatures in DingTalk (#3841)
Co-authored-by: shown <yuluo08290126@gmail.com>
2025-11-03 11:43:08 +08:00
Tomsun28 cf59907fcd fix the labels limit error (#3842)
Signed-off-by: tomsun28 <tomsun28@outlook.com>
2025-11-02 20:56:21 +08:00
Tomsun28 624ba8dc8d docs: update readme and doc (#3840) 2025-11-02 12:14:20 +08:00
45 changed files with 462 additions and 419 deletions
+6 -6
View File
@@ -16,11 +16,15 @@
#
github:
description: Real-time observability system with agentless, performance cluster, prometheus-compatible, custom monitoring and status page building capabilities.
description: An AI-powered next-generation open source real-time observability system.
homepage: https://hertzbeat.apache.org/
labels:
- monitoring
- ai
- agent
- llm
- logs
- monitor
- monitoring
- notifications
- alerting
- self-hosted
@@ -30,15 +34,11 @@ github:
- metrics
- observability
- uptime
- uptime-monitoring
- status
- status-page
- devops
- server
- linux
- database
- mysql
- cloud
enabled_merge_buttons:
squash: true
merge: false
+10 -10
View File
@@ -90,24 +90,24 @@ e2e:
backend:
- changed-files:
- any-glob-to-any-file:
- "alerter/**/*"
- "collector/**/*"
- "common/**/*"
- "grafana/**/*"
- "manager/**/*"
- "push/**/*"
- "remoting/**/*"
- "warehouse/**/*"
- "hertzbeat-alerter/**/*"
- "hertzbeat-collector/**/*"
- "hertzbeat-common/**/*"
- "hertzbeat-grafana/**/*"
- "hertzbeat-manager/**/*"
- "hertzbeat-push/**/*"
- "hertzbeat-remoting/**/*"
- "hertzbeat-warehouse/**/*"
collector:
- changed-files:
- any-glob-to-any-file:
- "collector/**/*"
- "hertzbeat-collector/**/*"
monitoring-template:
- changed-files:
- any-glob-to-any-file:
- "manager/src/main/resources/define/**/*"
- "hertzbeat-manager/src/main/resources/define/**/*"
HIP:
- changed-files:
+3 -3
View File
@@ -4,7 +4,7 @@ image:
tasks:
- name: Run backend
before: cd hertzbeat-manager
before: cd hertzbeat-startup
command: |
gp sync-await setup-backend
mvn spring-boot:run
@@ -13,7 +13,7 @@ tasks:
before: cd web-app
command: |
gp sync-await setup-frontend
yarn start --public-host "`gp url 4200`"
pnpm start --public-host "`gp url 4200`"
openMode: split-right
- name: Setup backend
@@ -25,7 +25,7 @@ tasks:
- name: Setup frontend
init: |
cd web-app && yarn install
cd web-app && pnpm install
command: |
gp sync-done setup-frontend
exit 0
+6 -28
View File
@@ -27,20 +27,20 @@ Even small corrections to typos are very welcome :)
### Getting HertzBeat up and running
> To get HertzBeat code running on your development tools, and able to debug with breakpoints.
> This is a front-end and back-end separation project. To start the local code, the back-end [manager](manager) and the front-end [web-app](web-app) must be started separately.
> This is a front-end and back-end separation project. To start the local code, the back-end [startup](hertzbeat-startup) and the front-end [web-app](web-app) must be started separately.
#### Backend start
1. Requires `maven3+`, `java17` and `lombok` environments
2. (Optional) Modify the configuration file: `manager/src/main/resources/application.yml`
2. (Optional) Modify the configuration file: `hertzbeat-startup/src/main/resources/application.yml`
3. Execute under the project root directory: `mvn clean install -DskipTests`
4. Add VM Options: `--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED`
5. Start `springboot manager` service: `manager/src/main/java/org/apache/hertzbeat/hertzbeat-manager/Manager.java`
5. Start `springboot startup` service: `hertzbeat-startup/src/main/java/org/apache/hertzbeat/startup/HertzBeatApplication.java`
#### Frontend start
@@ -131,17 +131,6 @@ Add WeChat account `ahertzbeat` to pull you into the WeChat group.
## 🥐 Architecture
- **[manager](https://github.com/apache/hertzbeat/tree/master/hertzbeat-manager)** Provide monitoring management, system management basic services.
> Provides monitoring management, monitoring configuration management, system user management, etc.
- **[collector](https://github.com/apache/hertzbeat/tree/master/collector)** Provide metrics data collection services.
> Use common protocols to remotely collect and obtain peer-to-peer metrics data.
- **[warehouse](https://github.com/apache/hertzbeat/tree/master/warehouse)** Provide monitoring data warehousing services.
> Metrics data management, data query, calculation and statistics.
- **[alerter](https://github.com/apache/hertzbeat/tree/master/hertzbeat-alerter)** Provide alert service.
> Alarm calculation trigger, monitoring status linkage, alarm configuration, and alarm notification.
- **[web-app](https://github.com/apache/hertzbeat/tree/master/web-app)** Provide web ui.
> Angular Web UI.
![hertzBeat](home/static/img/docs/hertzbeat-arch.png)
<br>
@@ -179,19 +168,19 @@ Add WeChat account `ahertzbeat` to pull you into the WeChat group.
### 让 HertzBeat 运行起来
> 让 HertzBeat 的代码在您的开发工具上运行起来,并且能够断点调试。
> 此为前后端分离项目,本地代码启动需将后端[manager](manager)和前端[web-app](web-app)分别启动生效。
> 此为前后端分离项目,本地代码启动需将后端[hertzbeat-startup](hertzbeat-startup)和前端[web-app](web-app)分别启动生效。
#### 后端启动
1. 需要 `maven3+`, `java17` 和 `lombok` 环境
2. (可选)修改配置文件配置信息-`manager/src/main/resources/application.yml`
2. (可选)修改配置文件配置信息-`hertzbeat-startup/src/main/resources/application.yml`
3. 在项目根目录运行编译: `mvn clean install -DskipTests`
4. 在 `jvm` 加入参数 `--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED`
5. 启动`springboot manager`服务 `manager/src/main/java/org/apache/hertzbeat/hertzbeat-manager/Manager.java`
5. 启动`springboot startup`服务 `hertzbeat-startup/src/main/java/org/apache/hertzbeat/startup/HertzBeatApplication.java`
#### 前端启动
@@ -282,15 +271,4 @@ Add WeChat account `ahertzbeat` to pull you into the WeChat group.
### 模块
- **[manager](https://github.com/apache/hertzbeat/tree/master/hertzbeat-manager)** 提供监控管理,系统管理基础服务
> 提供对监控的管理,监控应用配置的管理,系统用户租户后台管理等。
- **[collector](https://github.com/apache/hertzbeat/tree/master/collector)** 提供监控数据采集服务
> 使用通用协议远程采集获取对端指标数据。
- **[warehouse](https://github.com/apache/hertzbeat/tree/master/warehouse)** 提供监控数据仓储服务
> 采集指标结果数据管理,数据落盘,查询,计算统计。
- **[alerter](https://github.com/apache/hertzbeat/tree/master/hertzbeat-alerter)** 提供告警服务
> 告警计算触发,任务状态联动,告警配置,告警通知。
- **[web-app](https://github.com/apache/hertzbeat/tree/master/web-app)** 提供可视化控制台页面
> 监控告警系统可视化控制台前端
![hertzBeat](home/static/img/docs/hertzbeat-arch.png)
+15 -21
View File
@@ -9,8 +9,6 @@
<b><a href="README.md">English</a></b> | <a href="README_CN.md">中文</a> | <a href="README_JP.md">日本語</a>
</p>
> A real-time observability system with agentless, performance cluster, prometheus-compatible, custom monitoring and status page building capabilities.
[![Discord](https://img.shields.io/badge/Chat-Discord-7289DA?logo=discord)](https://discord.gg/Fb6M73htGr)
[![Reddit](https://img.shields.io/badge/Reddit-Community-7289DA?logo=reddit)](https://www.reddit.com/r/hertzbeat/)
[![Twitter](https://img.shields.io/twitter/follow/hertzbeat1024?logo=twitter)](https://x.com/hertzbeat1024)
@@ -21,6 +19,7 @@
[![YouTube Channel Subscribers](https://img.shields.io/youtube/channel/subscribers/UCri75zfWX0GHqJFPENEbLow?logo=youtube&label=YouTube%20Channel)](https://www.youtube.com/channel/UCri75zfWX0GHqJFPENEbLow)
[![Contribute with Gitpod](https://img.shields.io/badge/Contribute%20with-Gitpod-908a85?logo=gitpod&color=green)](https://gitpod.io/#https://github.com/apache/hertzbeat)
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/apache/hertzbeat)
[![zread](https://img.shields.io/badge/Ask_Zread-_.svg?style=flat&color=00b0aa&labelColor=000000&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuOTYxNTYgMS42MDAxSDIuMjQxNTZDMS44ODgxIDEuNjAwMSAxLjYwMTU2IDEuODg2NjQgMS42MDE1NiAyLjI0MDFWNC45NjAxQzEuNjAxNTYgNS4zMTM1NiAxLjg4ODEgNS42MDAxIDIuMjQxNTYgNS42MDAxSDQuOTYxNTZDNS4zMTUwMiA1LjYwMDEgNS42MDE1NiA1LjMxMzU2IDUuNjAxNTYgNC45NjAxVjIuMjQwMUM1LjYwMTU2IDEuODg2NjQgNS4zMTUwMiAxLjYwMDEgNC45NjE1NiAxLjYwMDFaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00Ljk2MTU2IDEwLjM5OTlIMi4yNDE1NkMxLjg4ODEgMTAuMzk5OSAxLjYwMTU2IDEwLjY4NjQgMS42MDE1NiAxMS4wMzk5VjEzLjc1OTlDMS42MDE1NiAxNC4xMTM0IDEuODg4MSAxNC4zOTk5IDIuMjQxNTYgMTQuMzk5OUg0Ljk2MTU2QzUuMzE1MDIgMTQuMzk5OSA1LjYwMTU2IDE0LjExMzQgNS42MDE1NiAxMy43NTk5VjExLjAzOTlDNS42MDE1NiAxMC42ODY0IDUuMzE1MDIgMTAuMzk5OSA0Ljk2MTU2IDEwLjM5OTlaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik0xMy43NTg0IDEuNjAwMUgxMS4wMzg0QzEwLjY4NSAxLjYwMDEgMTAuMzk4NCAxLjg4NjY0IDEwLjM5ODQgMi4yNDAxVjQuOTYwMUMxMC4zOTg0IDUuMzEzNTYgMTAuNjg1IDUuNjAwMSAxMS4wMzg0IDUuNjAwMUgxMy43NTg0QzE0LjExMTkgNS42MDAxIDE0LjM5ODQgNS4zMTM1NiAxNC4zOTg0IDQuOTYwMVYyLjI0MDFDMTQuMzk4NCAxLjg4NjY0IDE0LjExMTkgMS42MDAxIDEzLjc1ODQgMS42MDAxWiIgZmlsbD0iI2ZmZiIvPgo8cGF0aCBkPSJNNCAxMkwxMiA0TDQgMTJaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00IDEyTDEyIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K&logoColor=ffffff)](https://zread.ai/apache/hertzbeat)
**Home: [hertzbeat.apache.org](https://hertzbeat.apache.org)**
**Email: <a href="mailto:dev-subscribe@hertzbeat.apache.org">Mail to `dev-subscribe@hertzbeat.apache.org`</a> to subscribe mailing lists**
@@ -28,28 +27,23 @@
## 🎡 <font color="green">Introduction</font>
[Apache HertzBeat™](https://github.com/apache/hertzbeat) is an easy-to-use, open source, real-time observability system with agentless, high performance cluster, prometheus-compatible, offers powerful custom monitoring and status page building capabilities.
[Apache HertzBeat™](https://github.com/apache/hertzbeat) is an AI-powered next-generation open source real-time observability system. Unified metrics and logs collection, centralized alerting distribution, intelligent management and analysis. No Agent required, high performance cluster, provides powerful custom monitoring and status page building capabilities.
### Features
* Combines **monitoring, alarm, and notification** features into one platform, and supports monitoring for web service, program, database, cache, os, webserver, middleware, bigdata, cloud-native, network, custom and more.
* Easy to use and agentless, web-based and with one-click monitoring and alerting, zero learning curve.
* Makes protocols such as `Http, Jmx, Ssh, Snmp, Jdbc, Prometheus` configurable, allowing you to collect any metrics by simply configuring the template `YML` file online. Imagine being able to quickly adapt to a new monitoring type like K8s or Docker simply by configuring online with HertzBeat.
* Compatible with the `Prometheus` ecosystem and more, can monitoring what `Prometheus` can monitoring with few clicks on webui.
* High performance, supports horizontal expansion of multi-collector clusters, multi-isolated network monitoring and cloud-edge collaboration.
* Provides flexible alarm threshold rules and timely notifications delivered via `Discord` `Slack` `Telegram` `Email` `Dingtalk` `WeChat` `FeiShu` `Webhook` `SMS` `ServerChan`.
* Provides powerful status page building capabilities, easily communicate the real-time status of your service to users.
- Integrates **collection + analysis + alerting + notification** into one platform, with new AI-powered interactions and features under HertzBeat AI, and built-in MCP Server capabilities.
- Unified metrics platform, agentless, Prometheus-compatible, supports application services, programs, databases, caches, operating systems, big data, middleware, web servers, cloud-native, networks, custom monitoring and more.
- Unified logging platform, seamlessly integrates multiple log sources through OTLP protocol for reporting.
- Unified alerting platform, integrates internal alerts with various external alert sources, unified alert processing and analysis, flexible real-time and periodic threshold rules, grouping convergence, silence, suppression, etc.
- Unified message distribution, alerts processed by the alerting platform are distributed via `Email` `Discord` `Slack` `Telegram` `DingTalk` `WeChat` `FeiShu` `SMS` `Webhook` `ServerChan` and other methods.
- Makes protocols such as `Http, Jmx, Ssh, Snmp, Jdbc, Prometheus` configurable, allowing you to collect any metrics by simply configuring the template `YML` file online. Imagine being able to quickly adapt to a new monitoring type like K8s or Docker simply by configuring online with HertzBeat.
- High performance, supports horizontal expansion of multi-collector clusters, multi-isolated network monitoring and cloud-edge collaboration.
- Provides powerful status page building capabilities, easily communicate the real-time status of your service to users.
> HertzBeat's powerful customization, multi-type support, high performance, easy expansion, and low coupling, aims to help users quickly build their own monitoring system.
> HertzBeat's unified platform, AI intelligence, powerful customization, multi-type support, high performance, and easy expansion, aims to help users quickly and conveniently achieve observability requirements.
----
![hertzbeat](home/static/img/home/1.png)
![hertzbeat](home/static/img/home/status.png)
![hertzbeat](home/static/img/home/9.png)
----
## 🥐 Architecture
@@ -58,8 +52,8 @@
## ⛄ Supported
> We define all monitoring collection types such as `mysql`, `jvm`, and `k8s` as `YML` monitoring templates, allowing users to import them to support corresponding types of monitoring.
> Welcome everyone to contribute your customized general monitoring type YML template during use.
> We define all metrics collection types such as `mysql`, `jvm`, and `k8s` as `YML` templates, allowing users to import them to support corresponding types of monitoring.
> Welcome everyone to contribute your customized general metrics type YML template during use.
- [Website](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-website.yml), [Port Telnet](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-port.yml),
@@ -161,8 +155,8 @@ Detailed config refer to [Install HertzBeat via Package](https://hertzbeat.apach
##### 3Start via source code
1. Local source code debugging needs to start the back-end project `manager` and the front-end project `web-app`.
2. Backendneed `maven3+`, `java17`, `lombok`, add VM options in IDE: ` --add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED `, then start the `manager` service.
1. Local source code debugging needs to start the back-end project `hertzbeat-startup` and the front-end project `web-app`.
2. Backendneed `maven3+`, `java17`, `lombok`, add VM options in IDE: ` --add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED `, then start the `hertzbeat-startup` service.
3. Webneed `nodejs npm angular-cli` environment, Run `ng serve --open` in `web-app` directory after backend startup.
4. Access `http://localhost:4200` to start, default account: `admin/hertzbeat`
+13 -20
View File
@@ -9,8 +9,6 @@
<a href="README.md">English</a> | <b><a href="README_CN.md">中文</a></b> | <a href="README_JP.md">日本語</a>
</p>
> 实时观测系统,无需 Agent,性能集群,兼容 Prometheus,自定义监控和状态页构建能力。
[![Discord](https://img.shields.io/badge/Chat-Discord-7289DA?logo=discord)](https://discord.gg/Fb6M73htGr)
[![Reddit](https://img.shields.io/badge/Reddit-Community-7289DA?logo=reddit)](https://www.reddit.com/r/hertzbeat/)
[![Twitter](https://img.shields.io/twitter/follow/hertzbeat1024?logo=twitter)](https://x.com/hertzbeat1024)
@@ -28,29 +26,24 @@
## 🎡 <font color="green">介绍</font>
[Apache HertzBeat™](https://github.com/apache/hertzbeat) 是一个易用友好的开源实时监控告警系统,无需 Agent,高性能集群,兼容 Prometheus,提供强大的自定义监控和状态页构建能力。
[Apache HertzBeat™](https://github.com/apache/hertzbeat) 是 AI 驱动的下一代开源实时观测系统。指标日志统一收集,告警一站分发,智能管控分析。无需 Agent,高性能集群,提供强大的自定义监控和状态页构建能力。
### 特点
- **监控+告警+通知** 为一体,支持对应用服务,应用程序,数据库,缓存,操作系统,大数据,中间件,Web 服务器,云原生,网络,自定义等监控阈值告警通知一步到位
- 易用友好,无需 `Agent`,全 `WEB` 页面操作,鼠标点一点就能监控告警,无需学习成本。
- `Http, Jmx, Ssh, Snmp, Jdbc, Prometheus` 等协议规范可配置化,只需在浏览器配置监控模板 `YML` 就能使用这些协议去自定义采集想要的指标。您相信只需简单配置即可快速适配一款 `K8s``Docker` 等新的监控类型吗?
- 兼容 `Prometheus` 的系统生态并且更多,只需页面操作就可以监控 `Prometheus` 所能监控的
-```采集+分析+告警+通知```为一体,HertzBeat AI 驱动下的新交互与功能,也内置 MCP Server 对外能力
- 统一的指标平台,无需 Agent,兼容 Prometheus,支持应用服务,程序,数据库,缓存,操作系统,大数据,中间件,Web 服务器,云原生,网络,自定义等。
- 统一的日志平台,通过 OTLP 协议多日志源无缝对接上报。
- 统一的告警平台,内部告警与外部多种告警源集成接入,统一告警处理分析,灵活的实时与周期阈值规则,分组收敛,静默,抑制等
- 统一的消息分发,告警平台处理后通过 `邮件` `Discord` `Slack` `Telegram` `钉钉` `微信` `飞书` `短信` `Webhook` `Server酱` 等方式分发通知。
-`Http, Jmx, Ssh, Snmp, Jdbc, Prometheus` 等协议规范可配置化,只需配置模板 `YML` 就能自定义采集指标。您相信只需简单配置即可快速适配一款 `K8s``Docker` 等新的监控类型吗?
- 高性能,支持多采集器集群横向扩展,支持多隔离网络监控,云边协同。
- 灵活的告警阈值规则,`邮件` `Discord` `Slack` `Telegram` `钉钉` `微信` `飞书` `短信` `Webhook` `Server酱` 等方式消息及时送达。
- 提供强大的状态页构建能力,轻松向用户传达您产品服务的实时状态。
> `HertzBeat`的强大自定义,多类型支持,高性能,易扩展,低耦合,希望能帮助用户快速搭建自有监控系统
> `HertzBeat`的统一平台,AI智能,强大自定义,多类型支持,高性能,易扩展,希望能帮助用户快速方便实现观测需求
----
![hertzbeat](home/static/img/home/1.png)
![hertzbeat](home/static/img/home/status.png)
![hertzbeat](home/static/img/home/9.png)
----
## 🥐 模块
@@ -59,8 +52,8 @@
## ⛄ 已支持
> 我们将监控采集类型(mysql,jvm,k8s)都定义为 `yml` 监控模板,用户可以导入这些模板来支持对应类型的监控!
> 欢迎大家一起贡献你使用过程中自定义的通用监控类型监控模板。
> 我们将监控采集类型(mysql,jvm,k8s)都定义为 `yml` 模板,用户可以导入这些模板来支持对应类型的监控!
> 欢迎大家一起贡献你使用过程中自定义的通用指标模板。
- [Website](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-website.yml), [Port Telnet](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-port.yml),
[Http Api](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-api.yml), [Ping Connect](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-ping.yml),
@@ -98,7 +91,7 @@
- [CiscoSwitch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-cisco_switch.yml), [HpeSwitch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-hpe_switch.yml),
[HuaweiSwitch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-huawei_switch.yml), [TpLinkSwitch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-tplink_switch.yml),
[H3cSwitch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-h3c_switch.yml)
- 和更多自定义监控模板。
- 和更多自定义指标模板。
- 通知支持 `Discord` `Slack` `Telegram` `邮件` `钉钉` `微信` `飞书` `短信` `Webhook` `Server酱`
## 🐕 快速开始
@@ -159,8 +152,8 @@
##### 方式三:本地代码启动
1. 此为前后端分离项目,本地代码调试需要分别启动后端工程 `manager` 和前端工程 `web-app`
2. 后端:需要 `maven3+`, `java17` 和 `lombok` 环境,修改 `YML` 配置信息,添加JVM参数`--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED`后启动 `manager` 服务即可。
1. 此为前后端分离项目,本地代码调试需要分别启动后端工程 `hertzbeat-startup` 和前端工程 `web-app`
2. 后端:需要 `maven3+`, `java17` 和 `lombok` 环境,修改 `YML` 配置信息,添加JVM参数`--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED`后启动 `hertzbeat-startup` 服务即可。
3. 前端:需要 `nodejs npm angular-cli`环境,待本地后端启动后,在 `web-app` 目录下启动 `ng serve --open`
4. 浏览器访问 `http://localhost:4200` 即可开始,默认账号密码 `admin/hertzbeat`
+12 -20
View File
@@ -9,8 +9,6 @@
<a href="README.md">English</a> | <a href="README_CN.md">中文</a> | <b><a href="README_JP.md">日本語</a></b>
</p>
> オープンソースのリアルタイム監視システム、エージェントレス、クラスタ対応、Prometheus互換、カスタムおよびステータスページ付き。
[![Discord](https://img.shields.io/badge/Chat-Discord-7289DA?logo=discord)](https://discord.gg/Fb6M73htGr)
[![Reddit](https://img.shields.io/badge/Reddit-Community-7289DA?logo=reddit)](https://www.reddit.com/r/hertzbeat/)
[![Twitter](https://img.shields.io/twitter/follow/hertzbeat1024?logo=twitter)](https://x.com/hertzbeat1024)
@@ -28,29 +26,23 @@
## 🎡 <font color="green">紹介</font>
[Apache HertzBeat](https://github.com/apache/hertzbeat) incubating)はオープンソースリアルタイム監視システム、エージェントレス、クラスタ対応、Prometheus互換、カスタムおよびステータスページ付き
[Apache HertzBeat](https://github.com/apache/hertzbeat) は AI 駆動の次世代オープンソースリアルタイム観測システムです。メトリクスとログの統一収集、アラートの一元配信、インテリジェント管理分析。エージェント不要、高性能クラスタ、強力なカスタム監視とステータスページ構築機能を提供します
### 特性
- **モニター・アラーム・通知** を一体化し、Web、データベース、キャッシュ、OS、ミドルウェア、クラウドネイティブ、ネットワークなどをサポート
- 使いやすさを重視し、マウスのクリックだけで完全なWebベースの操作が可能
- `Http、Jmx、Ssh、Snmp、jdbc、Prometheus`などのプロトコルを設定可能にし、テンプレート`YML`ファイルをオンラインで設定するだけで、あらゆるメトリクスを収集できるようにします。HertzBeatでオンライン設定するだけで、`K8S``Docker`のような新しい監視タイプに素早く対応できることを想像してみてください
- `Prometheus`のエコシステム互換、Prometheusが監視できるものを、全てオンライン設定によって監視することができます
- 高性能で、コレクタークラスタ、マルチアイソレートネットワーク、クラウドエッジをサポート
- 柔軟なアラーム閾値ルールで、メール、discord、slack、telegramなどを通じてタイムリーに通知
- 強力なステータスページを簡単に構築し、リアルタイムのステータスをユーザーと共有
- **収集+分析+アラート+通知**を一つのプラットフォームに統合し、HertzBeat AI 駆動の新しいインタラクションと機能、内蔵 MCP Server 機能を提供
- 統一メトリクスプラットフォーム、エージェントレス、Prometheus互換、アプリケーションサービス、プログラム、データベース、キャッシュ、オペレーティングシステム、ビッグデータ、ミドルウェア、Webサーバー、クラウドネイティブ、ネットワーク、カスタム監視などをサポート
- 統一ログプラットフォーム、OTLP プロトコルを通じて複数のログソースをシームレスに統合してレポート
- 統一アラートプラットフォーム、内部アラートと様々な外部アラートソースを統合接続、統一アラート処理分析、柔軟なリアルタイムと周期的閾値ルール、グループ収束、サイレンス、抑制など
- 統一メッセージ配信、アラートプラットフォームで処理後、`メール` `Discord` `Slack` `Telegram` `DingTalk` `WeChat` `FeiShu` `SMS` `Webhook` `ServerChan` などの方法で配信通知
- `Http、Jmx、Ssh、Snmp、Jdbc、Prometheus`などのプロトコルを設定可能にし、テンプレート`YML`ファイルをオンラインで設定するだけで、あらゆるメトリクスを収集できるようにします。HertzBeatでオンライン設定するだけで、`K8s``Docker`のような新しい監視タイプに素早く対応できることを想像してみてください
- 高性能で、コレクタークラスタの水平拡張、マルチ分離ネットワーク監視、クラウドエッジ協調をサポート
- 強力なステータスページ構築機能を提供し、サービスのリアルタイムステータスをユーザーに簡単に伝達。
> `HertzBeat`の強力なカスタマイズ、多種類のサポート、高性能および容易な拡張性は、ユーザーが迅速に独自の監視システムを構築するのを支援することを目的としています。
> `HertzBeat`の統一プラットフォーム、AI インテリジェンス、強力なカスタマイズ、多種類サポート、高性能、容易な拡張性は、ユーザーが迅速かつ便利に観測要件を実現することを支援することを目的としています。
----
![hertzbeat](home/static/img/home/1.png)
![hertzbeat](home/static/img/home/status.png)
![hertzbeat](home/static/img/home/9.png)
----
## 🥐 モジュール
@@ -163,8 +155,8 @@
##### 方式3:ローカルの実行
1. ローカルの実行には、バックエンドのプロジェクト`manager`とフロントエンドのプロジェクト`web-app`を起動する必要があります。
2. バックエンド:`maven3+`、`java17`と`lombok`の環境は必要です。`YML` 設定を修正し、Java仮想マシンパラメータに`--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED` を追加し、`manager` を起動します。
1. ローカルの実行には、バックエンドのプロジェクト`hertzbeat-startup`とフロントエンドのプロジェクト`web-app`を起動する必要があります。
2. バックエンド:`maven3+`、`java17`と`lombok`の環境は必要です。`YML` 設定を修正し、Java仮想マシンパラメータに`--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED` を追加し、`hertzbeat-startup` を起動します。
3. フロントエンド:`nodejs npm angular-cli`の環境は必要です。ローカルのバックエンドが立ち上がったら、`web-app` ディレクトリで `ng serve --open` というコマンドを実行します。
4. スタート:`http://localhost:4200`にアクセスします。デフォルトのアカウントとパスワード:`admin/hertzbeat`。
@@ -18,12 +18,17 @@
package org.apache.hertzbeat.alert.notice.impl;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.List;
import lombok.Data;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.hertzbeat.alert.notice.AlertNoticeException;
import org.apache.hertzbeat.alert.util.CryptoUtils;
import org.apache.hertzbeat.common.entity.alerter.GroupAlert;
import org.apache.hertzbeat.common.entity.alerter.NoticeReceiver;
import org.apache.hertzbeat.common.entity.alerter.NoticeTemplate;
@@ -54,7 +59,13 @@ final class DingTalkRobotAlertNotifyHandlerImpl extends AbstractAlertNotifyHandl
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<DingTalkWebHookDto> httpEntity = new HttpEntity<>(dingTalkWebHookDto, headers);
String webHookUrl = alerterProperties.getDingTalkWebhookUrl() + receiver.getAccessToken();
StringBuilder webHookUrlBuilder = new StringBuilder()
.append(alerterProperties.getDingTalkWebhookUrl())
.append(receiver.getAccessToken());
if (StringUtils.isNotBlank(receiver.getAppSecret())) {
webHookUrlBuilder.append(signSecret(receiver.getAppSecret()));
}
String webHookUrl = webHookUrlBuilder.toString();
ResponseEntity<CommonRobotNotifyResp> responseEntity = restTemplate.postForEntity(webHookUrl,
httpEntity, CommonRobotNotifyResp.class);
if (responseEntity.getStatusCode() == HttpStatus.OK) {
@@ -102,6 +113,13 @@ final class DingTalkRobotAlertNotifyHandlerImpl extends AbstractAlertNotifyHandl
return dingTalkWebHookDto;
}
private String signSecret(String secret) throws Exception {
Long timestamp = System.currentTimeMillis();
String sign = URLEncoder.encode(CryptoUtils.hmacSha256Base64(secret, timestamp + "\n" + secret),
StandardCharsets.UTF_8);
return String.format("&timestamp=%s&sign=%s", timestamp, sign);
}
@Override
public byte type() {
return 5;
@@ -109,6 +127,7 @@ final class DingTalkRobotAlertNotifyHandlerImpl extends AbstractAlertNotifyHandl
/**
* DingTalk robot request body
*
* @version 1.0
*/
@Data
@@ -187,5 +206,4 @@ final class DingTalkRobotAlertNotifyHandlerImpl extends AbstractAlertNotifyHandl
}
}
@@ -88,7 +88,7 @@ public class CryptoUtils {
* @return lowercase hexadecimal string
*/
public static String hmacSha256Hex(String key, String data) {
return hmacSha256Hex(hmac256(key.getBytes(UTF8), data), data);
return hmacSha256Hex(key.getBytes(UTF8), data);
}
/**
@@ -42,7 +42,7 @@ public class CryptoUtilsTest {
@Test
void testHmacSha256Hex() {
String signature = CryptoUtils.hmacSha256Hex("your-real-key", "your-real-data");;
assertEquals("41878ccd7ecd795a2dd7ec39be7f33fed4be3ec75f5307689e39dd6f41fdbaac", signature);
assertEquals("f09adf5f4bf94eddecf0f7c8f39a3a8dc7f95ccdc2faf2e5330bc5a78e4bba95", signature);
}
}
@@ -55,7 +55,7 @@ spring:
collector:
info:
version: ${COLLECTOR_VERSION:1.7.3}
version: ${COLLECTOR_VERSION:1.8.0}
ip: ${COLLECTOR_IP:}
dispatch:
entrance:
-135
View File
@@ -1,135 +0,0 @@
# HertzBeat Startup Module
## 概述
`hertzbeat-startup` 模块是为了实现 HertzBeat 项目的模块化重构而创建的启动模块。该模块专门负责应用的启动和初始化任务,将原本由 `hertzbeat-manager` 模块承担的启动职责分离出来,实现更好的关注点分离。
## 模块职责
该启动模块主要负责以下启动任务:
1. **主应用启动** - 通过 `HertzBeatApplication` 类作为主入口点
2. **系统配置初始化** - 通过 `SystemConfigInitializer` 初始化系统配置、JWT密钥、AES密钥等
3. **调度系统初始化** - 通过 `SchedulerSystemInitializer` 初始化收集器状态和监控任务
4. **Netty服务器启动** - 通过 `NettyServerInitializer` 启动集群通信服务器
## 架构设计
### 原有架构问题
- `manager` 模块既负责业务逻辑又负责启动,职责不够清晰
- 启动代码散布在多个文件中,不利于维护
### 重构后的架构
```
hertzbeat-startup/
├── src/main/java/org/apache/hertzbeat/startup/
│ ├── HertzBeatApplication.java # 主启动类
│ ├── config/
│ │ └── SystemConfigInitializer.java # 系统配置初始化
│ └── scheduler/
│ ├── SchedulerSystemInitializer.java # 调度系统初始化
│ └── NettyServerInitializer.java # Netty服务器初始化
└── pom.xml
```
## 使用方式
### 主入口点
```java
// 原来的启动方式
public static void main(String[] args) {
SpringApplication.run(Manager.class, args);
}
// 现在的启动方式
public static void main(String[] args) {
SpringApplication.run(HertzBeatApplication.class, args);
}
```
### 启动顺序
1. `HertzBeatApplication` 作为主启动类启动Spring Boot应用
2. `SystemConfigInitializer` (最高优先级 +2) 初始化系统配置
3. `SchedulerSystemInitializer` (最低优先级 -1) 初始化调度系统
4. `NettyServerInitializer` (最低优先级) 启动Netty服务器
## 迁移说明
### 从 Manager 模块迁移的组件
1. **启动主类** - `Manager.java``HertzBeatApplication.java`
2. **配置初始化** - `ConfigInitializer.java``SystemConfigInitializer.java`
3. **调度初始化** - `SchedulerInit.java``SchedulerSystemInitializer.java`
4. **Netty服务器** - `ManageServer.java``NettyServerInitializer.java`
### Manager 模块的变化
- 移除了所有启动相关的代码
- 保留 `Manager.java` 作为 Spring Boot 配置类
- 专注于业务逻辑处理
## 资源文件迁移
### 迁移到 startup 模块的资源
- **应用配置文件** - `application*.yml`(包含dev、test、mysql、pg等配置)
- **数据库迁移脚本** - `db/migration/`(支持H2、MySQL、PostgreSQL
- **启动横幅** - `banner.txt`
- **安全配置** - `sureness.yml`
### 保留在 manager 模块的资源
- **监控应用定义** - `define/app-*.yml`(各种监控应用的定义文件)
- **告警模板** - `templates/`(告警通知模板文件)
## 依赖关系
### 当前依赖
- `spring-boot-starter` - Spring Boot核心
- `spring-boot-starter-web` - Web应用支持
- `spring-boot-starter-data-jpa` - 数据持久化
- `flyway-core` - 数据库迁移核心
- `flyway-mysql` - MySQL数据库迁移支持
- `flyway-database-postgresql` - PostgreSQL数据库迁移支持
- `h2database` - H2数据库(默认)
- `hertzbeat-common` - 通用组件
- `hertzbeat-base` - 基础组件
- `hertzbeat-warehouse` - 数据仓库
- `hertzbeat-alerter` - 告警模块
- `hertzbeat-remoting` - 远程通信
- `hertzbeat-manager` - 管理模块(业务逻辑)
### 注意事项
由于启动模块需要访问管理模块的服务和配置,存在对 `hertzbeat-manager` 的依赖。在实际部署时,需要确保依赖的正确性。
## 配置属性
### 系统配置相关
- `sureness.jwt.secret` - JWT密钥配置
- `common.secret` - AES密钥配置
### 调度器相关
- `scheduler.server.enabled` - 是否启用Netty服务器
- `scheduler.server.port` - Netty服务器端口
- `scheduler.server.idleStateEventTriggerTime` - 空闲状态触发时间
## 优势
1. **职责分离** - 启动逻辑与业务逻辑分离,模块职责更加清晰
2. **易于维护** - 所有启动相关代码集中在一个模块中
3. **可扩展性** - 新的启动功能可以轻松添加到启动模块
4. **向后兼容** - 保持了原有的配置和功能不变
## 注意事项
1. **依赖管理** - 需要正确处理启动模块与业务模块之间的依赖关系
2. **启动顺序** - 确保各个初始化组件按照正确的顺序执行
3. **配置传递** - 启动模块需要能够访问业务模块的配置和服务
4. **测试验证** - 重构后需要充分测试启动流程的正确性
## 总结
通过创建 `hertzbeat-startup` 模块,我们成功地将启动职责从业务模块中分离出来,实现了更清晰的模块划分。这种设计使得:
- 启动逻辑更加集中和易于维护
- 业务模块可以专注于业务逻辑
- 整体架构更加模块化和可扩展
- 保持了原有功能的完整性和稳定性
这是一个典型的关注点分离重构实践,提高了代码的可维护性和可扩展性。
+96
View File
@@ -0,0 +1,96 @@
---
title: Welcome HertzBeat's New Community Committer!
author: Duansg
author_title: SiGuo Duan
author_url: https://github.com/Duansg
tags: [opensource, practice]
keywords:
[
open source monitoring system,
alerting system,
Apache,
Apache Committer,
HertzBeat,
]
---
> Hello everyone, it's a great honor to be invited by the community to become Apache HertzBeat Committer.
## Self-Introduction
- **Name**: Siguo Duan
- **Github**: [Duansg](https://github.com/Duansg)
- **Email**: [duansg@apache.org](mailto:duansg@apache.org)
- **Position**: Senior Development Engineer
- **Primary Technical Focus**: Currently engaged in the e-commerce industry, primarily focused on the research and development of data processing and management for a billion-item product middle platform.
## First Encounter Apache HertzBeat
In practical projects, to enhance the existing monitoring system, we aim to implement visual monitoring and alerts for existing metrics. However, we also wish to avoid introducing or integrating overly complex monitoring systems. Consequently, I began searching for a monitoring solution that is ready-to-use, feature-rich, and easily extensible. It was during this process that I gradually encountered and became familiar with Apache HertzBeat.
Through continuous research and debugging, I began delving into its source code and gradually became involved in community contributions. Today, keeping up with community updates, reviewing pull requests, and discussing issues have become part of my daily routine.
## The Path to Open Source Contributions
The initial biggest challenge in formally contributing to the Apache HertzBeat project was unfamiliarity with its architecture, particularly the collaboration mechanisms between modules. By reading official documentation, source code, and historical PRs from the community, I gradually gained clarity on the project's structure. Simultaneously, discussions with community members during PR reviews provided invaluable advice and fresh perspectives—these exchanges fostered significant growth.
Through systematic reading of source code and analysis of historical changes, I gradually gained a deep understanding of the project structure and actively participated in code fixes and feature enhancements. To date, I have submitted and merged multiple contributions to the Apache HertzBeat project, including but not limited to:
> [47 commits](https://github.com/apache/hertzbeat/commits?author=Duansg) 23,649 ++ 5,547 --
**Submitted PR (47 commits)**
- Fix:
Prometheus real-time thresholds not taking effect issue([#3434](https://github.com/apache/hertzbeat/pull/3434))、null pointer exception in custom dashboards([#3448](https://github.com/apache/hertzbeat/pull/3448))、Jacoco test report generation failure([#3455](https://github.com/apache/hertzbeat/pull/3455))、
Page count calculation error([#3467](https://github.com/apache/hertzbeat/pull/3467))、ANTLR4 semantic parsing fixes and optimizations([#3482](https://github.com/apache/hertzbeat/pull/3482)、[#3488](https://github.com/apache/hertzbeat/pull/3488))、collector startup notification exception([#3579](https://github.com/apache/hertzbeat/pull/3579))、
Failure to send notifications when collector is offline([#3601](https://github.com/apache/hertzbeat/pull/3601))、JEXL keyword issue fixes and additions([#3629](https://github.com/apache/hertzbeat/pull/3629))、Security handling for JDBC URL([#3625](https://github.com/apache/hertzbeat/pull/3625))、
Monitoring template fixes([#3636](https://github.com/apache/hertzbeat/pull/3636)、[#3649](https://github.com/apache/hertzbeat/pull/3649))、Server-chan whitelist optimization([#3740](https://github.com/apache/hertzbeat/pull/3740))、Grafana visualization integration display issues([#3666](https://github.com/apache/hertzbeat/pull/3666))
- Improvement:
Prometheus parse([#3761](https://github.com/apache/hertzbeat/pull/3761)、[#3752](https://github.com/apache/hertzbeat/pull/3752)、[#3745](https://github.com/apache/hertzbeat/pull/3745)、[#3725](https://github.com/apache/hertzbeat/pull/3725)、[#3662](https://github.com/apache/hertzbeat/pull/3662))、Improved metric rendering performance[#3719](https://github.com/apache/hertzbeat/pull/3719)、
Styling improvements([#3734](https://github.com/apache/hertzbeat/pull/3734))、SSE exception handling improvements([#3775](https://github.com/apache/hertzbeat/pull/3775))、Threshold rule operation enhancements([#3780](https://github.com/apache/hertzbeat/pull/3780))
- Refactor:
Alert cache management([#3525](https://github.com/apache/hertzbeat/pull/3525))、PromQL threshold comparison logic([#3574](https://github.com/apache/hertzbeat/pull/3574))、Prometheus tag value UTF-8 support([#3810](https://github.com/apache/hertzbeat/pull/3810))
- New Features:
PromQL threshold configuration preview([#3505](https://github.com/apache/hertzbeat/pull/3505))、System time zone feature([#3588](https://github.com/apache/hertzbeat/pull/3588))、Metric Favorites Feature([#3735](https://github.com/apache/hertzbeat/pull/3735))
Jenkins Monitoring([#3774](https://github.com/apache/hertzbeat/pull/3774))、Apollo Configuration Center Monitoring([#3768](https://github.com/apache/hertzbeat/pull/3768))、TDengine monitoring([#3678](https://github.com/apache/hertzbeat/pull/3678))
Huawei Cloud alert integration([#3443](https://github.com/apache/hertzbeat/pull/3443))、Alibaba Cloud SLS alert integration([#3422](https://github.com/apache/hertzbeat/pull/3422))、Metrics Parsing([#3645](https://github.com/apache/hertzbeat/pull/3645)、[#3612](https://github.com/apache/hertzbeat/pull/3612))
Internationalization-Related([#3585](https://github.com/apache/hertzbeat/pull/3585)[#3565](https://github.com/apache/hertzbeat/pull/3565))
- Document:
Document-related([#3383](https://github.com/apache/hertzbeat/pull/3383)、[#3380](https://github.com/apache/hertzbeat/pull/3380)、[#3526](https://github.com/apache/hertzbeat/pull/3526)、[#3559](https://github.com/apache/hertzbeat/pull/3559)、[#3600](https://github.com/apache/hertzbeat/pull/3600)、[#3658](https://github.com/apache/hertzbeat/pull/3658)、[#3695](https://github.com/apache/hertzbeat/pull/3695))
## Community Engagement and Growth
By participating in Apache HertzBeat's regular meetings and contributing daily, I not only broadened my technical horizons but also learned how to collaborate more effectively within open-source projects. Communicating and working alongside community members has given me a deeper appreciation for the open, inclusive, and supportive spirit of the open-source community.
Becoming a Committer means taking on greater responsibility. Beyond continuing to refine the code, it is even more crucial to maintain a rigorous approach during code reviews, providing contributors with constructive feedback and recognition to help more people participate and grow.
## Advice for Open Source Developers
The journey into open source begins with passion and grows through practice. Open source is not only a vehicle for technical enthusiasm but also a journey of mutual growth with the community.
For developers new to open source, taking the plunge is the most crucial step. Even the smallest contributions can accumulate into invaluable experience. In your daily work, actively participate in community discussions and code reviews, learning continuously through collaboration. Maintain patience and persistence—every challenge you encounter presents an opportunity for growth.
Within the Apache HertzBeat community, there are ample opportunities to actively participate in projects. Keep a close eye on the issue list and engage in frequent communication—you'll always find someone eager to respond to your ideas and gain inspiration from your perspectives. This is the very essence of community collaboration: a mutual journey forward.
## Contribute to Apache HertzBeat
The best time to plant a tree was ten years ago. The second-best time is now. If you'd like to contribute to Apache HertzBeat, you can start in the following ways:
1. Documentation and Translation: Improving or translating project documentation not only helps you quickly familiarize yourself with the project but also enables more users to understand it.
2. Issue Fixing: Browse project issues and attempt to claim and resolve some simple issues or optimization points.
3. Functional Expansion: Participate in discussions and development of new features based on interests and project requirements, gradually deepening understanding of the project architecture and refining functionality.
## Conclusion
We hope Apache HertzBeat will continue to uphold the spirit of open source, attracting more talented developers to jointly build a technologically advanced and vibrant community. I will also continue to contribute my efforts to Apache HertzBeat, and I look forward to welcoming more developers to join us in advancing the project's development.
A huge thank you to everyone in the community for your meticulous reviews and patient guidance on every PR. May the project's impact continue to grow, and may the community thrive!
+2 -2
View File
@@ -53,10 +53,10 @@ Even small corrections to typos are very welcome :)
#### Backend start
1. Requires `maven3+`, `java17` and `lombok` environments
2. (Optional) Modify the configuration file: `manager/src/main/resources/application.yml`
2. (Optional) Modify the configuration file: `hertzbeat-startup/src/main/resources/application.yml`
3. Execute under the project root directory: `mvn clean install -DskipTests`
4. Add VM Options: `--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED`
5. Start `springboot manager` service: `manager/src/main/java/org/apache/hertzbeat/hertzbeat-manager/Manager.java`
5. Start `springboot startup` service: `hertzbeat-startup/src/main/java/org/apache/hertzbeat/startup/HertzBeatApplication.java`
#### Frontend start
+2 -2
View File
@@ -13,10 +13,10 @@ sidebar_label: Development
### Backend start
1. Requires `maven3+`, `java17` and `lombok` environments
2. (Optional) Modify the configuration file: `manager/src/main/resources/application.yml`
2. (Optional) Modify the configuration file: `hertzbeat-startup/src/main/resources/application.yml`
3. Execute under the project root directory: `mvn clean install -DskipTests`
4. Add VM Options: `--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED`
5. Start `springboot manager` service: `manager/src/main/java/org/apache/hertzbeat/hertzbeat-manager/Manager.java`
5. Start `springboot startup` service: `hertzbeat-startup/src/main/java/org/apache/hertzbeat/startup/HertzBeatApplication.java`
### Frontend start
+77 -78
View File
@@ -5,25 +5,24 @@ sidebar_label: Introduce
slug: /
---
> A real-time observability system with agentless, performance cluster, prometheus-compatible, custom monitoring and status page building capabilities.
**Home: [hertzbeat.apache.org](https://hertzbeat.apache.org)**
## 🎡 <font color="green">Introduction</font>
[Apache HertzBeat](https://github.com/apache/hertzbeat) is an easy-to-use, open source, real-time observability system with agentless, high performance cluster, prometheus-compatible, offers powerful custom monitoring and status page building capabilities.
[Apache HertzBeat](https://github.com/apache/hertzbeat) is an AI-powered next-generation open source real-time observability system. Unified metrics and logs collection, centralized alerting distribution, intelligent management and analysis. No Agent required, high performance cluster, provides powerful custom monitoring and status page building capabilities.
### Features
* Combines **monitoring, alarm, and notification** features into one platform, and supports monitoring for web service, program, database, cache, os, webserver, middleware, bigdata, cloud-native, network, custom and more.
* Easy to use and agentless, web-based and with one-click monitoring and alerting, zero learning curve.
* Makes protocols such as `Http, Jmx, Ssh, Snmp, Jdbc, Prometheus` configurable, allowing you to collect any metrics by simply configuring the template `YML` file online. Imagine being able to quickly adapt to a new monitoring type like K8s or Docker simply by configuring online with HertzBeat.
* Compatible with the `Prometheus` ecosystem and more, can monitoring what `Prometheus` can monitoring with few clicks on webui.
* High performance, supports horizontal expansion of multi-collector clusters, multi-isolated network monitoring and cloud-edge collaboration.
* Provides flexible alarm threshold rules and timely notifications delivered via `Discord` `Slack` `Telegram` `Email` `Dingtalk` `WeChat` `FeiShu` `Webhook` `SMS` `ServerChan`.
* Provides powerful status page building capabilities, easily communicate the real-time status of your service to users.
- Integrates **collection + analysis + alerting + notification*- into one platform, with new AI-powered interactions and features under HertzBeat AI, and built-in MCP Server capabilities.
- Unified metrics platform, agentless, Prometheus-compatible, supports application services, programs, databases, caches, operating systems, big data, middleware, web servers, cloud-native, networks, custom monitoring and more.
- Unified logging platform, seamlessly integrates multiple log sources through OTLP protocol for reporting.
- Unified alerting platform, integrates internal alerts with various external alert sources, unified alert processing and analysis, flexible real-time and periodic threshold rules, grouping convergence, silence, suppression, etc.
- Unified message distribution, alerts processed by the alerting platform are distributed via `Email` `Discord` `Slack` `Telegram` `DingTalk` `WeChat` `FeiShu` `SMS` `Webhook` `ServerChan` and other methods.
- Makes protocols such as `Http, Jmx, Ssh, Snmp, Jdbc, Prometheus` configurable, allowing you to collect any metrics by simply configuring the template `YML` file online. Imagine being able to quickly adapt to a new monitoring type like K8s or Docker simply by configuring online with HertzBeat.
- High performance, supports horizontal expansion of multi-collector clusters, multi-isolated network monitoring and cloud-edge collaboration.
- Provides powerful status page building capabilities, easily communicate the real-time status of your service to users.
> HertzBeat's powerful customization, multi-type support, high performance, easy expansion, and low coupling, aims to help users quickly build their own monitoring system.
> HertzBeat's unified platform, AI intelligence, powerful customization, multi-type support, high performance, and easy expansion, aims to help users quickly and conveniently achieve observability requirements.
---
@@ -43,7 +42,7 @@ Do you believe that users can just write a monitoring template on the UI page, c
**There are a lot of built-in monitoring templates for users to add directly on the page, one monitoring type corresponds to one YML monitoring template**.
* [Website](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-website.yml), [Port Telnet](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-port.yml),
- [Website](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-website.yml), [Port Telnet](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-port.yml),
[Http Api](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-api.yml), [Ping Connect](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-ping.yml),
[Jvm](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-jvm.yml), [SiteMap](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-fullsite.yml),
[Ssl Certificate](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-ssl_cert.yml), [SpringBoot2](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-springboot2.yml),
@@ -52,7 +51,7 @@ Do you believe that users can just write a monitoring template on the UI page, c
[Pop3](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-pop3.yml), [Ntp](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-ntp.yml),
[Api Code](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-api_code.yml), [Smtp](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-smtp.yml),
[Nginx](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-nginx.yml)
* [Mysql](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-mysql.yml), [PostgreSQL](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-postgresql.yml),
- [Mysql](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-mysql.yml), [PostgreSQL](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-postgresql.yml),
[MariaDB](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-mariadb.yml), [Redis](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-redis.yml),
[ElasticSearch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-elasticsearch.yml), [SqlServer](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-sqlserver.yml),
[Oracle](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-oracle.yml), [MongoDB](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-mongodb.yml),
@@ -61,13 +60,13 @@ Do you believe that users can just write a monitoring template on the UI page, c
[Redis Cluster](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-redis_cluster.yml), [Redis Sentinel](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-redis_sentinel.yml),
[Doris BE](https://github.com/apache/hertzbeat/blob/master/hertzbeat-manager/src/main/resources/define/app-doris_be.yml), [Doris FE](https://github.com/apache/hertzbeat/blob/master/hertzbeat-manager/src/main/resources/define/app-doris_fe.yml),
[Memcached](https://github.com/apache/hertzbeat/blob/master/hertzbeat-manager/src/main/resources/define/app-memcached.yml), [NebulaGraph](https://github.com/apache/hertzbeat/blob/master/hertzbeat-manager/src/main/resources/define/app-nebula_graph.yml)
* [Linux](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-linux.yml), [Ubuntu](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-ubuntu.yml),
- [Linux](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-linux.yml), [Ubuntu](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-ubuntu.yml),
[CentOS](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-centos.yml), [Windows](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-windows.yml),
[EulerOS](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-euleros.yml), [Fedora CoreOS](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-coreos.yml),
[OpenSUSE](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-opensuse.yml), [Rocky Linux](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-rockylinux.yml),
[Red Hat](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-redhat.yml), [FreeBSD](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-freebsd.yml),
[AlmaLinux](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-almalinux.yml), [Debian Linux](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-debian.yml)
* [Tomcat](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-tomcat.yml), [Nacos](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-nacos.yml),
- [Tomcat](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-tomcat.yml), [Nacos](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-nacos.yml),
[Zookeeper](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-zookeeper.yml), [RabbitMQ](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-rabbitmq.yml),
[Flink](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-flink.yml), [Kafka](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-kafka.yml),
[ShenYu](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-shenyu.yml), [DynamicTp](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-dynamic_tp.yml),
@@ -75,12 +74,12 @@ Do you believe that users can just write a monitoring template on the UI page, c
[Spring Gateway](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-spring_gateway.yml), [EMQX MQTT](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-emqx.yml),
[AirFlow](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-airflow.yml), [Hive](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-hive.yml),
[Spark](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-spark.yml), [Hadoop](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-hadoop.yml)
* [Kubernetes](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-kubernetes.yml), [Docker](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-docker.yml)
* [CiscoSwitch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-cisco_switch.yml), [HpeSwitch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-hpe_switch.yml),
- [Kubernetes](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-kubernetes.yml), [Docker](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-docker.yml)
- [CiscoSwitch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-cisco_switch.yml), [HpeSwitch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-hpe_switch.yml),
[HuaweiSwitch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-huawei_switch.yml), [TpLinkSwitch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-tplink_switch.yml),
[H3cSwitch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-h3c_switch.yml)
* And More Your Custom Template.
* Notified Support `Discord` `Slack` `Telegram` `Email` `Dingtalk` `WeChat` `FeiShu` `Webhook` `SMS` `ServerChan`.
- And More Your Custom Template.
- Notified Support `Discord` `Slack` `Telegram` `Email` `Dingtalk` `WeChat` `FeiShu` `Webhook` `SMS` `ServerChan`.
### Customization
@@ -98,8 +97,8 @@ Do you believe that users can just write a monitoring template on the UI page, c
The principle of `HertzBeat` is to use different protocols to connect directly to the end system, and use the `PULL` form to pull the collected data, without the need for the user to deploy and install `Agent` | `Exporter` on the host of the end, etc. For example, monitoring the `linux operating system`.
* For example, if you want to monitor `linux OS`, you can just input the IP port account password or key on `HertzBeat` side.
* For example, to monitor `linux OS`, just enter your ip/port account password or key in `HertzBeat`.
- For example, if you want to monitor `linux OS`, you can just input the IP port account password or key on `HertzBeat` side.
- For example, to monitor `linux OS`, just enter your ip/port account password or key in `HertzBeat`.
**Password and other sensitive information is encrypted on all links**.
@@ -107,9 +106,9 @@ The principle of `HertzBeat` is to use different protocols to connect directly t
> When the number of monitors rises exponentially, the collection performance drops or the environment is unstable and prone to single point of failure of the collectors, then our collector clusters come into play.
* HertzBeat supports the deployment of collector clusters and the horizontal expansion of multiple collector clusters to exponentially increase the number of monitorable tasks and collection performance.
* Monitoring tasks are self-scheduled in the collector cluster, single collector hangs without sensing the failure to migrate the collection tasks, and the newly added collector nodes are automatically scheduled to share the collection pressure.
* It is very easy to switch between stand-alone mode and cluster mode without additional component deployment.
- HertzBeat supports the deployment of collector clusters and the horizontal expansion of multiple collector clusters to exponentially increase the number of monitorable tasks and collection performance.
- Monitoring tasks are self-scheduled in the collector cluster, single collector hangs without sensing the failure to migrate the collection tasks, and the newly added collector nodes are automatically scheduled to share the collection pressure.
- It is very easy to switch between stand-alone mode and cluster mode without additional component deployment.
![HertzBeat](/img/docs/cluster-arch.png)
@@ -124,18 +123,18 @@ In an isolated network where multiple networks are not connected, we need to dep
### Easy to Use
* Set **Monitoring+Alarm+Notification** All in one, no need to deploy multiple component services separately.
* Full UI interface operation, no matter adding new monitor, modifying monitor template, or alarm threshold notification, all can be done in WEB interface, no need to modify files or scripts or reboot.
* No Agent is needed, we only need to fill in the required IP, port, account, password and other parameters in the WEB interface.
* Customization friendly, only need a monitoring template YML, automatically generate monitoring management page, data chart page, threshold configuration for corresponding monitoring types.
* Threshold alarm notification friendly, based on the expression threshold configuration, a variety of alarm notification channels, support alarm silence, time label alarm level filtering and so on.
- Set **Monitoring+Alarm+Notification*- All in one, no need to deploy multiple component services separately.
- Full UI interface operation, no matter adding new monitor, modifying monitor template, or alarm threshold notification, all can be done in WEB interface, no need to modify files or scripts or reboot.
- No Agent is needed, we only need to fill in the required IP, port, account, password and other parameters in the WEB interface.
- Customization friendly, only need a monitoring template YML, automatically generate monitoring management page, data chart page, threshold configuration for corresponding monitoring types.
- Threshold alarm notification friendly, based on the expression threshold configuration, a variety of alarm notification channels, support alarm silence, time label alarm level filtering and so on.
### Completely Open Source
* An open source collaboration product using the `Apache2` protocol, maintained by a free and open source community.
* No monitoring number `License`, monitoring type and other pseudo-open source restrictions .
* Built on `Java+SpringBoot+TypeScript+Angular` mainstream technology stack , convenient secondary development .
* Dev based on HertzBeat need retain copyright.
- An open source collaboration product using the `Apache2` protocol, maintained by a free and open source community.
- No monitoring number `License`, monitoring type and other pseudo-open source restrictions .
- Built on `Java+SpringBoot+TypeScript+Angular` mainstream technology stack , convenient secondary development .
- Dev based on HertzBeat need retain copyright.
**HertzBeat has been included in the [CNCF Observability And Analysis - Observability Landscape](https://landscape.cncf.io/?view-mode=card&classify=category&sort-by=name&sort-direction=asc#observability-and-analysis--observability)**
@@ -154,27 +153,27 @@ Browser access `http://localhost:1157` default account password `admin/hertzbeat
### Landing Page
* HertzBeat's user management is unified by the configuration file `sureness.yml`, which allows users to add, delete, and modify user information, user role permissions, and so on. Default password admin/hertzbeat
- HertzBeat's user management is unified by the configuration file `sureness.yml`, which allows users to add, delete, and modify user information, user role permissions, and so on. Default password admin/hertzbeat
![HertzBeat](/img/home/0.png)
### Overview Page
* The global overview page shows the distribution of current monitoring categories, users can visualize the current monitoring types and quantities and click to jump to the corresponding monitoring types for maintenance and management.
* Show the status of currently registered collector clusters, including collector on-line status, monitoring tasks, startup time, IP address, name and so on.
* Show the list of recent alarm messages, alarm level distribution etc.
- The global overview page shows the distribution of current monitoring categories, users can visualize the current monitoring types and quantities and click to jump to the corresponding monitoring types for maintenance and management.
- Show the status of currently registered collector clusters, including collector on-line status, monitoring tasks, startup time, IP address, name and so on.
- Show the list of recent alarm messages, alarm level distribution etc.
![HertzBeat](/img/home/1.png)
### Monitoring Center
* The monitoring portal supports the management of monitoring of application services, database, operating system, middleware, network, customization, etc. It displays the currently added monitors in the form of a list.
* It displays the currently added monitors in the form of a list and supports adding, modifying, deleting, canceling, importing, exporting and batch management of monitors.
* Support tag grouping, query filtering, view monitoring details portal.
- The monitoring portal supports the management of monitoring of application services, database, operating system, middleware, network, customization, etc. It displays the currently added monitors in the form of a list.
- It displays the currently added monitors in the form of a list and supports adding, modifying, deleting, canceling, importing, exporting and batch management of monitors.
- Support tag grouping, query filtering, view monitoring details portal.
Built-in support for monitoring types include:
* [Website](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-website.yml), [Port Telnet](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-port.yml),
- [Website](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-website.yml), [Port Telnet](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-port.yml),
[Http Api](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-api.yml), [Ping Connect](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-ping.yml),
[Jvm](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-jvm.yml), [SiteMap](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-fullsite.yml),
[Ssl Certificate](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-ssl_cert.yml), [SpringBoot2](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-springboot2.yml),
@@ -183,7 +182,7 @@ Built-in support for monitoring types include:
[Pop3](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-pop3.yml), [Ntp](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-ntp.yml),
[Api Code](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-api_code.yml), [Smtp](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-smtp.yml),
[Nginx](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-nginx.yml)
* [Mysql](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-mysql.yml), [PostgreSQL](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-postgresql.yml),
- [Mysql](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-mysql.yml), [PostgreSQL](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-postgresql.yml),
[MariaDB](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-mariadb.yml), [Redis](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-redis.yml),
[ElasticSearch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-elasticsearch.yml), [SqlServer](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-sqlserver.yml),
[Oracle](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-oracle.yml), [MongoDB](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-mongodb.yml),
@@ -192,13 +191,13 @@ Built-in support for monitoring types include:
[Redis Cluster](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-redis_cluster.yml), [Redis Sentinel](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-redis_sentinel.yml),
[Doris BE](https://github.com/apache/hertzbeat/blob/master/hertzbeat-manager/src/main/resources/define/app-doris_be.yml), [Doris FE](https://github.com/apache/hertzbeat/blob/master/hertzbeat-manager/src/main/resources/define/app-doris_fe.yml),
[Memcached](https://github.com/apache/hertzbeat/blob/master/hertzbeat-manager/src/main/resources/define/app-memcached.yml), [NebulaGraph](https://github.com/apache/hertzbeat/blob/master/hertzbeat-manager/src/main/resources/define/app-nebula_graph.yml)
* [Linux](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-linux.yml), [Ubuntu](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-ubuntu.yml),
- [Linux](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-linux.yml), [Ubuntu](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-ubuntu.yml),
[CentOS](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-centos.yml), [Windows](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-windows.yml),
[EulerOS](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-euleros.yml), [Fedora CoreOS](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-coreos.yml),
[OpenSUSE](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-opensuse.yml), [Rocky Linux](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-rockylinux.yml),
[Red Hat](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-redhat.yml), [FreeBSD](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-freebsd.yml),
[AlmaLinux](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-almalinux.yml), [Debian Linux](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-debian.yml)
* [Tomcat](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-tomcat.yml), [Nacos](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-nacos.yml),
- [Tomcat](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-tomcat.yml), [Nacos](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-nacos.yml),
[Zookeeper](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-zookeeper.yml), [RabbitMQ](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-rabbitmq.yml),
[Flink](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-flink.yml), [Kafka](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-kafka.yml),
[ShenYu](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-shenyu.yml), [DynamicTp](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-dynamic_tp.yml),
@@ -206,8 +205,8 @@ Built-in support for monitoring types include:
[Spring Gateway](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-spring_gateway.yml), [EMQX MQTT](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-emqx.yml),
[AirFlow](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-airflow.yml), [Hive](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-hive.yml),
[Spark](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-spark.yml), [Hadoop](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-hadoop.yml)
* [Kubernetes](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-kubernetes.yml), [Docker](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-docker.yml)
* [CiscoSwitch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-cisco_switch.yml), [HpeSwitch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-hpe_switch.yml),
- [Kubernetes](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-kubernetes.yml), [Docker](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-docker.yml)
- [CiscoSwitch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-cisco_switch.yml), [HpeSwitch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-hpe_switch.yml),
[HuaweiSwitch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-huawei_switch.yml), [TpLinkSwitch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-tplink_switch.yml),
[H3cSwitch](https://raw.githubusercontent.com/apache/hertzbeat/master/hertzbeat-manager/src/main/resources/define/app-h3c_switch.yml)
@@ -215,18 +214,18 @@ Built-in support for monitoring types include:
### New Monitor
* You can add or modify monitoring instances of a specific monitoring type, configure the IP, port and other parameters of the monitoring on the other end, set the collection period, collection task scheduling method, support detecting availability in advance, etc. The monitoring instances on the page are defined by the corresponding monitoring templates.
* The monitoring parameters configured on the page are defined by the monitoring template of the corresponding monitoring type, and users can modify the configuration parameters on the page by modifying the monitoring template.
* Support associated tags to manage monitoring grouping, alarm matching, and so on.
- You can add or modify monitoring instances of a specific monitoring type, configure the IP, port and other parameters of the monitoring on the other end, set the collection period, collection task scheduling method, support detecting availability in advance, etc. The monitoring instances on the page are defined by the corresponding monitoring templates.
- The monitoring parameters configured on the page are defined by the monitoring template of the corresponding monitoring type, and users can modify the configuration parameters on the page by modifying the monitoring template.
- Support associated tags to manage monitoring grouping, alarm matching, and so on.
![HertzBeat](/img/home/10.png)
### Monitor Details
* The monitoring data detail page shows the basic parameter information of the current monitoring, and the monitoring indicator data information.
* Monitor Real-time Data Report displays the real-time values of all the currently monitored indicators in the form of a list of small cards, and users can configure alarm threshold rules based on the real-time values for reference.
* Monitor Historical Data Report displays the historical values of the currently monitored metrics in the form of trend charts, supports querying hourly, daily and monthly historical data, and supports configuring the page refresh time.
* ⚠️ Note that the monitoring history charts need to be configured with an external timing database in order to get the full functionality.
- The monitoring data detail page shows the basic parameter information of the current monitoring, and the monitoring indicator data information.
- Monitor Real-time Data Report displays the real-time values of all the currently monitored indicators in the form of a list of small cards, and users can configure alarm threshold rules based on the real-time values for reference.
- Monitor Historical Data Report displays the historical values of the currently monitored metrics in the form of trend charts, supports querying hourly, daily and monthly historical data, and supports configuring the page refresh time.
- ⚠️ Note that the monitoring history charts need to be configured with an external timing database in order to get the full functionality.
![HertzBeat](/img/home/3.png)
@@ -234,16 +233,16 @@ Built-in support for monitoring types include:
### Alarm Center
* The management display page of triggered alarm messages enables users to visualize the current alarm situation.
* Support alarm processing, alarm marking unprocessed, alarm deletion, clearing and other batch operations.
- The management display page of triggered alarm messages enables users to visualize the current alarm situation.
- Support alarm processing, alarm marking unprocessed, alarm deletion, clearing and other batch operations.
![HertzBeat](/img/home/7.png)
### Alarm Threshold
* Alarm Threshold are the core function of `HertzBeat`, users can configure the trigger conditions of the alarm through the threshold rules.
* Support real-time threshold and scheduled threshold, real-time threshold can directly trigger the alarm when monitoring data is collected, scheduled threshold supports PromQL and other expressions to calculate the trigger alarm within a specified time period.
* Support visual page configuration or more flexible expression rule configuration, support configuring trigger times, alarm levels, notification templates, associated specified monitoring and so on.
- Alarm Threshold are the core function of `HertzBeat`, users can configure the trigger conditions of the alarm through the threshold rules.
- Support real-time threshold and scheduled threshold, real-time threshold can directly trigger the alarm when monitoring data is collected, scheduled threshold supports PromQL and other expressions to calculate the trigger alarm within a specified time period.
- Support visual page configuration or more flexible expression rule configuration, support configuring trigger times, alarm levels, notification templates, associated specified monitoring and so on.
![HertzBeat](/img/home/6.png)
@@ -251,39 +250,39 @@ Built-in support for monitoring types include:
### Alarm Integration
* Integration with third-party monitoring systems such as `Prometheus`, `WebHook`, `Skywalking`, `AlertManager`, etc. to receive alarm messages from these systems and perform alarm processing.
- Integration with third-party monitoring systems such as `Prometheus`, `WebHook`, `Skywalking`, `AlertManager`, etc. to receive alarm messages from these systems and perform alarm processing.
![HertzBeat](/img/home/11.png)
### Alarm Grouping
* Group convergence supports merging alarms for specified group labels by grouping. It deduplicates and converges the same repeated alarms in a time period.
* When the threshold rule triggers an alarm or an external alarm is reported, it will enter the grouping convergence for alarm grouping and alarm deduplication to avoid alarm storms caused by a large number of alarm messages.
- Group convergence supports merging alarms for specified group labels by grouping. It deduplicates and converges the same repeated alarms in a time period.
- When the threshold rule triggers an alarm or an external alarm is reported, it will enter the grouping convergence for alarm grouping and alarm deduplication to avoid alarm storms caused by a large number of alarm messages.
![HertzBeat](/img/home/12.png)
### Alarm Inhibition
* Alarm suppression is used to configure the suppression relationship between alarms. For example, high-level alarms suppress low-level alarms under the same instance.
* When an alarm occurs, it can suppress the occurrence of other alarms. For example, when a server crashes, it can suppress all alarms on that server.
- Alarm suppression is used to configure the suppression relationship between alarms. For example, high-level alarms suppress low-level alarms under the same instance.
- When an alarm occurs, it can suppress the occurrence of other alarms. For example, when a server crashes, it can suppress all alarms on that server.
![HertzBeat](/img/home/13.png)
### Alarm Silence
* When the alarm is triggered by the threshold rule, it will enter into the alarm silence, the alarm silence will be based on the rules of a specific one-time time period or periodic time period of the alarm message blocking silence, this time period does not send alarm messages.
* This application scenario, such as users in the system maintenance, do not need to send known alarms. Users will only receive alarm messages on weekdays, and users need to avoid disturbances at night.
* Alarm silence rules support one-time time period or periodic time period, support label matching and alarm level matching.
- When the alarm is triggered by the threshold rule, it will enter into the alarm silence, the alarm silence will be based on the rules of a specific one-time time period or periodic time period of the alarm message blocking silence, this time period does not send alarm messages.
- This application scenario, such as users in the system maintenance, do not need to send known alarms. Users will only receive alarm messages on weekdays, and users need to avoid disturbances at night.
- Alarm silence rules support one-time time period or periodic time period, support label matching and alarm level matching.
![HertzBeat](/img/home/15.png)
### Message Notification
* Message notification is a function to notify alarm messages to specified recipients through different media channels, so that the alarm messages can reach them in time.
* It includes recipient information management and notification policy management. Recipient management maintains the information of recipients and their notification methods, while notification policy management maintains the policy rules of which recipients will be notified of the alert messages.
* Notification methods support `Email` `Discord` `Slack` `Telegram` `Pinning` `WeChat` `Flybook` `SMS` `Webhook` and so on.
* The notification policy supports tag matching and alert level matching, which makes it convenient to assign alerts with different tags and alert levels to different receivers and handlers.
* Support notification templates, users can customize the content format of the templates to meet their own personalized notification display needs.
- Message notification is a function to notify alarm messages to specified recipients through different media channels, so that the alarm messages can reach them in time.
- It includes recipient information management and notification policy management. Recipient management maintains the information of recipients and their notification methods, while notification policy management maintains the policy rules of which recipients will be notified of the alert messages.
- Notification methods support `Email` `Discord` `Slack` `Telegram` `Pinning` `WeChat` `Flybook` `SMS` `Webhook` and so on.
- The notification policy supports tag matching and alert level matching, which makes it convenient to assign alerts with different tags and alert levels to different receivers and handlers.
- Support notification templates, users can customize the content format of the templates to meet their own personalized notification display needs.
![HertzBeat](/img/home/16.png)
@@ -295,23 +294,23 @@ Built-in support for monitoring types include:
### Monitoring Template
* HertzBeat makes `Http, Jmx, Ssh, Snmp, Jdbc, Prometheus` and other protocols configurable so that you can customize the metrics you want to collect using these protocols by simply configuring the monitoring template `YML` in your browser. Would you believe that you can instantly adapt a new monitoring type such as `K8s` or `Docker` just by configuring it?
* All our built-in monitoring types (mysql, website, jvm, k8s) are also mapped to corresponding monitoring templates, so you can add and modify monitoring templates to customize your monitoring functions.
- HertzBeat makes `Http, Jmx, Ssh, Snmp, Jdbc, Prometheus` and other protocols configurable so that you can customize the metrics you want to collect using these protocols by simply configuring the monitoring template `YML` in your browser. Would you believe that you can instantly adapt a new monitoring type such as `K8s` or `Docker` just by configuring it?
- All our built-in monitoring types (mysql, website, jvm, k8s) are also mapped to corresponding monitoring templates, so you can add and modify monitoring templates to customize your monitoring functions.
![HertzBeat](/img/home/9.png)
### Collector Cluster
* Users can configure collector clusters to achieve distributed collection of large-scale monitoring tasks.
* The collector cluster supports multi-node deployment, automatic load balancing, automatic failover, etc.
* Supports unified management of multiple isolated networks, cloud-edge collaboration.
- Users can configure collector clusters to achieve distributed collection of large-scale monitoring tasks.
- The collector cluster supports multi-node deployment, automatic load balancing, automatic failover, etc.
- Supports unified management of multiple isolated networks, cloud-edge collaboration.
![HertzBeat](/img/home/18.png)
### Status Page
* Based on HertzBeat, quickly build an external status page for your own product and easily convey the real-time status of your product service to users. For example, the service status page provided by Github <https://www.githubstatus.com>.
* Support synchronization between the status of the status page component and the monitoring status, as well as the fault event maintenance management mechanism, etc. Improve your transparency, professionalism, and user trust, and reduce communication costs.
- Based on HertzBeat, quickly build an external status page for your own product and easily convey the real-time status of your product service to users. For example, the service status page provided by Github <https://www.githubstatus.com>.
- Support synchronization between the status of the status page component and the monitoring status, as well as the fault event maintenance management mechanism, etc. Improve your transparency, professionalism, and user trust, and reduce communication costs.
![HertzBeat](/img/home/19.png)
+1 -1
View File
@@ -108,6 +108,6 @@ spring:
- It is recommended to set the host field in the MySQL URL to the public IP address when using Hertzbeat in docker.
> Note: The above applies to the method of downloading and installing the package. For local data source switching, simply complete the [Database creation](./mysql-change#database-creation) and modify the configuration in `hertzbeat-manager/src/main/resources/application.yml`.
> Note: The above applies to the method of downloading and installing the package. For local data source switching, simply complete the [Database creation](./mysql-change#database-creation) and modify the configuration in `hertzbeat-startup/src/main/resources/application.yml`.
**Start HertzBeat visit <http://ip:1157/> on the browser You can use HertzBeat monitoring alarm, default account and password are admin/hertzbeat**
+1 -1
View File
@@ -96,6 +96,6 @@ spring:
level: SEVERE
```
> Note: The above applies to the method of downloading and installing the package. For local data source switching, simply complete the [Database creation](./postgresql-change#database-creation) and modify the configuration in `hertzbeat-manager/src/main/resources/application.yml`.
> Note: The above applies to the method of downloading and installing the package. For local data source switching, simply complete the [Database creation](./postgresql-change#database-creation) and modify the configuration in `hertzbeat-startup/src/main/resources/application.yml`.
**Start HertzBeat visit <http://ip:1157/> on the browser You can use HertzBeat monitoring alarm, default account and password are admin/hertzbeat**
+1 -1
View File
@@ -63,7 +63,7 @@ Detailed config refer to [Install HertzBeat via Package](package-deploy)
##### 3Start via source code
1. Local source code debugging needs to start the back-end project `manager` and the front-end project `web-app`.
2. Backendneed `maven3+`, `java17`, `lombok`, start the `manager` service.
2. Backendneed `maven3+`, `java17`, `lombok`, start the `hertzbeat-startup` service.
3. Webneed `nodejs npm angular-cli` environment, Run `ng serve --open` in `web-app` directory after backend startup.
4. Access `http://localhost:4200` to start, default account: `admin/hertzbeat`
+1 -1
View File
@@ -266,7 +266,7 @@
"message": "Apache HertzBeat™ is open source, has an inclusive and open community. Unlimited and anyone who are interested in it are very welcome to contribute. No matter how small the contribution is, whether it is a code document or a typo, respect everyone and grow together. {br} Our code is being deployed on thousands of machines worldwide."
},
"slogan": {
"message": "Open Source Real-time Observability System"
"message": "AI-powered Open Source Observability System"
},
"Who uses HertzBeat?": {
"message": "Who uses Apache HertzBeat?"
+1 -1
View File
@@ -440,7 +440,7 @@
"message": "Apache HertzBeat™ 是开源的,拥有一个包容开放的社区。{br}欢迎任何对此有兴趣的同学参与其中,无论是代码文档或者错别字,尊重社区的每一位,一起进步成长。{br}我们的代码正被部署到全球成千上万机器上。"
},
"slogan": {
"message": "开源实时观测系统"
"message": "AI 驱动的下一代开源观测系统"
},
"Who Use HertzBeat?": {
"message": "Who Use HertzBeat?"
@@ -0,0 +1,96 @@
---
title: 热烈欢迎 HertzBeat 小伙伴新晋社区 Committer!
author: Duansg
author_title: SiGuo Duan
author_url: https://github.com/Duansg
tags: [opensource, practice]
keywords:
[
open source monitoring system,
alerting system,
Apache,
Apache Committer,
HertzBeat,
]
---
> 大家好,非常荣幸收到社区邀请,成为 Apache HertzBeat™ Committer。
## 个人介绍
- **姓名**: 段嗣国
- **Github**: [Duansg](https://github.com/Duansg)
- **邮箱**: [duansg@apache.org](mailto:duansg@apache.org)
- **职位**: 资深开发工程师
- **主要技术方向**: 目前从事于电商行业,主要聚焦在亿级商品中台业务的数据处理及管理的研发领域。
## 初识 Apache HertzBeat
在实际项目中,为了改善现有的监控体系,我们希望对已有指标进行可视化监控与告警。但同时,又不希望引入或兼容过于复杂的监控系统。因此,我开始寻找一款开箱即用、功能全面且易于扩展的监控解决方案,也正是在这个过程中,我逐渐接触并了解了 Apache HertzBeat。
随着不断的调研与调试,我开始深入其源码,并逐步参与到社区的贡献中。如今,关注社区动态、阅读 PR 和讨论问题,已经成为我日常的一部分。
## 开源贡献之路
在正式参与 Apache HertzBeat 项目的贡献过程中,起初最大的挑战是对项目架构的不熟悉,尤其是各模块之间的协作机制。 我通过阅读官方文档、源码以及社区的历史 PR,逐渐梳理清了脉络。与此同时,在 PR Review 的过程中,与社区成员的讨论也让我获得了许多宝贵的建议与新的思路——这些交流带来了巨大的成长。
通过系统地阅读源码与分析历史改动,我逐步深入理解了项目结构,并积极参与代码修复与功能完善。目前,我已在 Apache HertzBeat 项目中提交并合并了多项贡献,包括但不限于:
> [47 commits](https://github.com/apache/hertzbeat/commits?author=Duansg) 23,649 ++ 5,547 --
**Submitted PR (47 commits)**
- 修复:
Prometheus 实时阈值未生效的问题([#3434](https://github.com/apache/hertzbeat/pull/3434))、自定义看板的空指针异常([#3448](https://github.com/apache/hertzbeat/pull/3448))、Jacoco 无法生成测试报告的问题([#3455](https://github.com/apache/hertzbeat/pull/3455))、
页面数量计算错误([#3467](https://github.com/apache/hertzbeat/pull/3467))、ANTLR4 语义解析修复与优化([#3482](https://github.com/apache/hertzbeat/pull/3482)、[#3488](https://github.com/apache/hertzbeat/pull/3488))、收集器启动通知异常([#3579](https://github.com/apache/hertzbeat/pull/3579))、
收集器离线时未发送通知([#3601](https://github.com/apache/hertzbeat/pull/3601))、JEXL 关键字问题修复与补充([#3629](https://github.com/apache/hertzbeat/pull/3629))、JDBC URL 的安全相关处理问题([#3625](https://github.com/apache/hertzbeat/pull/3625))、
监控模板修复([#3636](https://github.com/apache/hertzbeat/pull/3636)、[#3649](https://github.com/apache/hertzbeat/pull/3649))、Server酱白名单优化([#3740](https://github.com/apache/hertzbeat/pull/3740))、Grafana 可视化集成显示问题([#3666](https://github.com/apache/hertzbeat/pull/3666))
- 改进:
Prometheus解析([#3761](https://github.com/apache/hertzbeat/pull/3761)、[#3752](https://github.com/apache/hertzbeat/pull/3752)、[#3745](https://github.com/apache/hertzbeat/pull/3745)、[#3725](https://github.com/apache/hertzbeat/pull/3725)、[#3662](https://github.com/apache/hertzbeat/pull/3662))、指标渲染性能改进[#3719](https://github.com/apache/hertzbeat/pull/3719)、样式改进([#3734](https://github.com/apache/hertzbeat/pull/3734))、SSE异常处理改进([#3775](https://github.com/apache/hertzbeat/pull/3775))、阈值规则操作改进([#3780](https://github.com/apache/hertzbeat/pull/3780))
- 重构:
告警缓存管理([#3525](https://github.com/apache/hertzbeat/pull/3525))、PromQL阈值比较逻辑([#3574](https://github.com/apache/hertzbeat/pull/3574))、Prometheus 标签值 UTF-8支持([#3810](https://github.com/apache/hertzbeat/pull/3810))
- 新功能:
PromQL阈值配置预览([#3505](https://github.com/apache/hertzbeat/pull/3505))、系统时区功能([#3588](https://github.com/apache/hertzbeat/pull/3588))、指标收藏功能([#3735](https://github.com/apache/hertzbeat/pull/3735))
jenkins监控([#3774](https://github.com/apache/hertzbeat/pull/3774))、apollo配置中心监控([#3768](https://github.com/apache/hertzbeat/pull/3768))、TDengine监控([#3678](https://github.com/apache/hertzbeat/pull/3678))
华为云告警集成([#3443](https://github.com/apache/hertzbeat/pull/3443))、阿里云SLS告警集成([#3422](https://github.com/apache/hertzbeat/pull/3422))、指标解析([#3645](https://github.com/apache/hertzbeat/pull/3645)、[#3612](https://github.com/apache/hertzbeat/pull/3612))
国际化相关([#3585](https://github.com/apache/hertzbeat/pull/3585)[#3565](https://github.com/apache/hertzbeat/pull/3565))
- 文档:
文档相关([#3383](https://github.com/apache/hertzbeat/pull/3383)、[#3380](https://github.com/apache/hertzbeat/pull/3380)、[#3526](https://github.com/apache/hertzbeat/pull/3526)、[#3559](https://github.com/apache/hertzbeat/pull/3559)、[#3600](https://github.com/apache/hertzbeat/pull/3600)、[#3658](https://github.com/apache/hertzbeat/pull/3658)、[#3695](https://github.com/apache/hertzbeat/pull/3695))
## 社区参与和成长
通过参与 Apache HertzBeat 的例会与日常贡献,不仅拓宽了个人的技术视野,也学习到如何更高效地在开源项目中协作。与社区成员的沟通与协作,让我更加深刻地体会到开源社区的开放、包容与互助精神。
成为 Committer 意味着肩负更多责任。除了继续完善代码之外,更重要的是在 Review 时保持严谨的态度,给予贡献者建设性的反馈与认可,帮助更多人参与并成长。
## 给开源开发者的建议
开源之路始于兴趣,成长于实践。开源不仅是技术热情的载体,更是一段与社区共同成长的旅程。
对于初次参与开源的开发者来说,勇于尝试是最重要的一步。即使是最小的贡献,也能积累宝贵的经验。
在日常中,多参与社区讨论与代码评审,在交流中不断学习;保持耐心与坚持,每一次遇到的难题与挑战,都是成长的契机。
在 Apache HertzBeat 社区中,实际参与项目的机会很多。多关注 Issue 列表,多沟通交流——总会有人积极回应你的想法,并从你的观点中获得启发,这正是社区的“双向奔赴”。
## 为 Apache HertzBeat 贡献力量
种一棵树最好的时间是十年前,其次是现在。 如果你也想为 Apache HertzBeat 贡献力量,可以从以下几个方向开始:
1. 文档与翻译:改进或翻译项目文档,既能快速熟悉项目,也能帮助更多用户了解项目。
2. 问题修复:浏览项目的 issue,尝试认领并修复一些简单的问题或优化点。
3. 功能扩展:根据兴趣与项目需求,参与新功能的讨论与开发,逐步深入理解项目架构并完善功能。
## 结语
期望 Apache HertzBeat 能够继续秉持开源精神,吸引更多优秀的开发者,共同打造一个技术领先且充满活力的社区。我也将持续为 Apache HertzBeat 贡献一份力量,期待更多开发者加入我们,一起推动项目的发展。
非常感谢社区的伙伴们,感谢你们对每一个 PR 的细致 Review 与耐心指导,希望项目未来影响力越来越大,社区越来越好!
@@ -54,13 +54,13 @@ limitations under the License.
1. 需要 `maven3+`, `java17``lombok` 环境
2. (可选)修改配置文件配置信息-`manager/src/main/resources/application.yml`
2. (可选)修改配置文件配置信息-`hertzbeat-startup/src/main/resources/application.yml`
3. 在项目根目录运行编译: `mvn clean install -DskipTests`
4.`jvm` 加入参数 `--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED`
5. 启动`springboot manager`服务 `manager/src/main/java/org/apache/hertzbeat/hertzbeat-manager/Manager.java`
5. 启动`springboot startup`服务 `hertzbeat-startup/src/main/java/org/apache/hertzbeat/startup/HertzBeatApplication.java`
#### 前端启动
@@ -13,13 +13,13 @@ sidebar_label: 运行编译
1. 需要 `maven3+`, `java17``lombok` 环境
2. (可选)修改配置文件配置信息-`manager/src/main/resources/application.yml`
2. (可选)修改配置文件配置信息-`hertzbeat-startup/src/main/resources/application.yml`
3. 在项目根目录运行编译: `mvn clean install -DskipTests`
4.`jvm` 加入参数 `--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED`
5. 启动`springboot manager`服务 `manager/src/main/java/org/apache/hertzbeat/hertzbeat-manager/Manager.java`
5. 启动`springboot startup`服务 `hertzbeat-startup/src/main/java/org/apache/hertzbeat/startup/HertzBeatApplication.java`
### 前端启动
@@ -5,25 +5,24 @@ sidebar_label: 介绍
slug: /
---
> 实时观测系统,无需Agent,性能集群,兼容Prometheus,自定义监控和状态页构建能力。
**官网: [hertzbeat.apache.org](https://hertzbeat.apache.org)**
## 🎡 <font color="green">介绍</font>
[Apache HertzBeat](https://github.com/apache/hertzbeat) 是一个易用友好的开源实时监控告警系统,无需 Agent,高性能集群,兼容 Prometheus,提供强大的自定义监控和状态页构建能力。
[Apache HertzBeat](https://github.com/apache/hertzbeat) 是 AI 驱动的下一代开源实时观测系统。指标日志统一收集,告警一站分发,智能管控分析。无需 Agent,高性能集群,提供强大的自定义监控和状态页构建能力。
### 特点
- **监控+告警+通知** 为一体,支持对应用服务,应用程序,数据库,缓存,操作系统,大数据,中间件,Web服务器,云原生,网络,自定义等监控阈值告警通知一步到位
- 易用友好,无需 `Agent`,全 `WEB` 页面操作,鼠标点一点就能监控告警,无需学习成本
- `Http, Jmx, Ssh, Snmp, Jdbc, Prometheus` 等协议规范可配置化,只需在浏览器配置监控模板 `YML` 就能使用这些协议去自定义采集想要的指标。您相信只需简单配置即可快速适配一款 `K8s``Docker` 等新的监控类型吗?
- 兼容 `Prometheus` 的系统生态并且更多,只需页面操作就可以监控 `Prometheus` 所能监控的
-```采集+分析+告警+通知```为一体,HertzBeat AI 驱动下的新交互与功能,也内置 MCP Server 对外能力
- 统一的指标平台,无需 Agent,兼容 Prometheus,支持应用服务,程序,数据库,缓存,操作系统,大数据,中间件,Web 服务器,云原生,网络,自定义等
- 统一的日志平台,通过 OTLP 协议多日志源无缝对接上报。
- 统一的告警平台,内部告警与外部多种告警源集成接入,统一告警处理分析,灵活的实时与周期阈值规则,分组收敛,静默,抑制等
- 统一的消息分发,告警平台处理后通过 `邮件` `Discord` `Slack` `Telegram` `钉钉` `微信` `飞书` `短信` `Webhook` `Server酱` 等方式分发通知。
-`Http, Jmx, Ssh, Snmp, Jdbc, Prometheus` 等协议规范可配置化,只需配置模板 `YML` 就能自定义采集指标。您相信只需简单配置即可快速适配一款 `K8s``Docker` 等新的监控类型吗?
- 高性能,支持多采集器集群横向扩展,支持多隔离网络监控,云边协同。
- 灵活的告警阈值规则,`邮件` `Discord` `Slack` `Telegram` `钉钉` `微信` `飞书` `短信` `Webhook` `Server酱` 等方式消息及时送达。
- 提供强大的状态页构建能力,轻松向用户传达您产品服务的实时状态。
> `HertzBeat`的强大自定义,多类型支持,高性能,易扩展,低耦合,希望能帮助开发者和团队快速搭建自有监控系统
> `HertzBeat`的统一平台,AI智能,强大自定义,多类型支持,高性能,易扩展,希望能帮助用户快速方便实现观测需求
---
@@ -111,6 +111,6 @@ spring:
- 通过docker启动时,建议修改host为宿主机的外网IP地址,包括mysql连接字符串。
> 注意:上述是针对下载安装包的方式,对于本地切换数据源,只需完成[数据库创建](./mysql-change#数据库创建)以及修改`hertzbeat-manager/src/main/resources/application.yml`中的配置即可。
> 注意:上述是针对下载安装包的方式,对于本地切换数据源,只需完成[数据库创建](./mysql-change#数据库创建)以及修改`hertzbeat-startup/src/main/resources/application.yml`中的配置即可。
**启动 HertzBeat 浏览器访问 <http://ip:1157/> 开始使用HertzBeat进行监控告警,默认账户密码 admin/hertzbeat**
@@ -98,6 +98,6 @@ spring:
level: SEVERE
```
> 注意:上述是针对下载安装包的方式,对于本地切换数据源,只需完成[数据库创建](./postgresql-change#数据库创建)以及修改`hertzbeat-manager/src/main/resources/application.yml`中的配置即可。
> 注意:上述是针对下载安装包的方式,对于本地切换数据源,只需完成[数据库创建](./postgresql-change#数据库创建)以及修改`hertzbeat-startup/src/main/resources/application.yml`中的配置即可。
**启动 HertzBeat 浏览器访问 <http://ip:1157/> 开始使用HertzBeat进行监控告警,默认账户密码 admin/hertzbeat**
@@ -66,8 +66,8 @@ sidebar_label: 快速开始
#### 方式三:本地代码启动
1. 此为前后端分离项目,本地代码调试需要分别启动后端工程`manager`和前端工程`web-app`
2. 后端:需要`maven3+`, `java17`和`lombok`环境,修改`YML`配置信息并启动`manager`服务
1. 此为前后端分离项目,本地代码调试需要分别启动后端工程`hertzbeat-startup`和前端工程`web-app`
2. 后端:需要`maven3+`, `java17`和`lombok`环境,修改`YML`配置信息并启动`hertzbeat-startup`服务
3. 前端:需要`nodejs npm angular-cli`环境,待本地后端启动后,在`web-app`目录下启动 `ng serve --open`
4. 浏览器访问 `http://localhost:4200` 即可开始,默认账号密码 `admin/hertzbeat`
@@ -54,13 +54,13 @@ limitations under the License.
1. 需要 `maven3+`, `java17``lombok` 环境
2. (可选)修改配置文件配置信息-`manager/src/main/resources/application.yml`
2. (可选)修改配置文件配置信息-`hertzbeat-startup/src/main/resources/application.yml`
3. 在项目根目录运行编译: `mvn clean install -DskipTests`
4.`jvm` 加入参数 `--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED`
5. 启动`springboot manager`服务 `manager/src/main/java/org/apache/hertzbeat/hertzbeat-manager/Manager.java`
5. 启动`springboot startup`服务 `hertzbeat-startup/src/main/java/org/apache/hertzbeat/startup/HertzBeatApplication.java`
#### 前端启动
@@ -13,13 +13,13 @@ sidebar_label: 运行编译
1. 需要 `maven3+`, `java17``lombok` 环境
2. (可选)修改配置文件配置信息-`manager/src/main/resources/application.yml`
2. (可选)修改配置文件配置信息-`hertzbeat-startup/src/main/resources/application.yml`
3. 在项目根目录运行编译: `mvn clean install -DskipTests`
4.`jvm` 加入参数 `--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED`
5. 启动`springboot manager`服务 `manager/src/main/java/org/apache/hertzbeat/hertzbeat-manager/Manager.java`
5. 启动`springboot startup`服务 `hertzbeat-startup/src/main/java/org/apache/hertzbeat/startup/HertzBeatApplication.java`
### 前端启动
@@ -111,6 +111,6 @@ spring:
- 通过docker启动时,建议修改host为宿主机的外网IP地址,包括mysql连接字符串。
> 注意:上述是针对下载安装包的方式,对于本地切换数据源,只需完成[数据库创建](./mysql-change#数据库创建)以及修改`hertzbeat-manager/src/main/resources/application.yml`中的配置即可。
> 注意:上述是针对下载安装包的方式,对于本地切换数据源,只需完成[数据库创建](./mysql-change#数据库创建)以及修改`hertzbeat-startup/src/main/resources/application.yml`中的配置即可。
**启动 HertzBeat 浏览器访问 <http://ip:1157/> 开始使用HertzBeat进行监控告警,默认账户密码 admin/hertzbeat**
@@ -98,6 +98,6 @@ spring:
level: SEVERE
```
> 注意:上述是针对下载安装包的方式,对于本地切换数据源,只需完成[数据库创建](./postgresql-change#数据库创建)以及修改`hertzbeat-manager/src/main/resources/application.yml`中的配置即可。
> 注意:上述是针对下载安装包的方式,对于本地切换数据源,只需完成[数据库创建](./postgresql-change#数据库创建)以及修改`hertzbeat-startup/src/main/resources/application.yml`中的配置即可。
**启动 HertzBeat 浏览器访问 <http://ip:1157/> 开始使用HertzBeat进行监控告警,默认账户密码 admin/hertzbeat**
@@ -66,7 +66,7 @@ sidebar_label: 快速开始
#### 方式三:本地代码启动
1. 此为前后端分离项目,本地代码调试需要分别启动后端工程`manager`和前端工程`web-app`
1. 此为前后端分离项目,本地代码调试需要分别启动后端工程`hertzbeat-startup`和前端工程`web-app`
2. 后端:需要`maven3+`, `java17`和`lombok`环境,修改`YML`配置信息并启动`manager`服务
3. 前端:需要`nodejs npm angular-cli`环境,待本地后端启动后,在`web-app`目录下启动 `ng serve --open`
4. 浏览器访问 `http://localhost:4200` 即可开始,默认账号密码 `admin/hertzbeat`
@@ -53,10 +53,10 @@ Even small corrections to typos are very welcome :)
#### Backend start
1. Requires `maven3+`, `java17` and `lombok` environments
2. (Optional) Modify the configuration file: `manager/src/main/resources/application.yml`
2. (Optional) Modify the configuration file: `hertzbeat-startup/src/main/resources/application.yml`
3. Execute under the project root directory: `mvn clean install -DskipTests`
4. Add VM Options: `--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED`
5. Start `springboot manager` service: `manager/src/main/java/org/apache/hertzbeat/hertzbeat-manager/Manager.java`
5. Start `springboot startup` service: `hertzbeat-startup/src/main/java/org/apache/hertzbeat/startup/HertzBeatApplication.java`
#### Frontend start
@@ -13,10 +13,10 @@ sidebar_label: Development
### Backend start
1. Requires `maven3+`, `java17` and `lombok` environments
2. (Optional) Modify the configuration file: `manager/src/main/resources/application.yml`
2. (Optional) Modify the configuration file: `hertzbeat-startup/src/main/resources/application.yml`
3. Execute under the project root directory: `mvn clean install -DskipTests`
4. Add VM Options: `--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED`
5. Start `springboot manager` service: `manager/src/main/java/org/apache/hertzbeat/hertzbeat-manager/Manager.java`
5. Start `springboot startup` service: `hertzbeat-startup/src/main/java/org/apache/hertzbeat/startup/HertzBeatApplication.java`
### Frontend start
@@ -108,6 +108,6 @@ spring:
- It is recommended to set the host field in the MySQL URL to the public IP address when using Hertzbeat in docker.
> Note: The above applies to the method of downloading and installing the package. For local data source switching, simply complete the [Database creation](./mysql-change#database-creation) and modify the configuration in `hertzbeat-manager/src/main/resources/application.yml`.
> Note: The above applies to the method of downloading and installing the package. For local data source switching, simply complete the [Database creation](./mysql-change#database-creation) and modify the configuration in `hertzbeat-startup/src/main/resources/application.yml`.
**Start HertzBeat visit <http://ip:1157/> on the browser You can use HertzBeat monitoring alarm, default account and password are admin/hertzbeat**
@@ -96,6 +96,6 @@ spring:
level: SEVERE
```
> Note: The above applies to the method of downloading and installing the package. For local data source switching, simply complete the [Database creation](./postgresql-change#database-creation) and modify the configuration in `hertzbeat-manager/src/main/resources/application.yml`.
> Note: The above applies to the method of downloading and installing the package. For local data source switching, simply complete the [Database creation](./postgresql-change#database-creation) and modify the configuration in `hertzbeat-startup/src/main/resources/application.yml`.
**Start HertzBeat visit <http://ip:1157/> on the browser You can use HertzBeat monitoring alarm, default account and password are admin/hertzbeat**
+1 -1
View File
@@ -96,7 +96,7 @@
</modules>
<properties>
<hzb.version>1.7.3</hzb.version>
<hzb.version>1.8.0</hzb.version>
<java.version>17</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
@@ -295,6 +295,14 @@
/>
</nz-form-control>
</nz-form-item>
<nz-form-item *ngIf="receiver.type === 5">
<nz-form-label [nzSpan]="7" nzFor="appSecret">
{{ 'alert.notice.type.ding-secret' | i18n }}
</nz-form-label>
<nz-form-control [nzErrorTip]="'validation.required' | i18n" [nzSpan]="12">
<input [(ngModel)]="receiver.appSecret" name="appSecret" nz-input type="text" />
</nz-form-control>
</nz-form-item>
<nz-form-item *ngIf="receiver.type === 5">
<nz-form-label [nzSpan]="7" nzFor="phone">{{ 'alert.notice.type.phone' | i18n }}</nz-form-label>
<nz-form-control [nzErrorTip]="'validation.phone.invalid' | i18n" [nzSpan]="12">
+1 -1
View File
@@ -18,5 +18,5 @@
*/
export const CONSTANTS = {
VERSION: 'v1.7.3'
VERSION: 'v1.8.0'
};
+11 -10
View File
@@ -3,18 +3,18 @@
"about.doc": "Document",
"about.gitee": "Gitee",
"about.github": "Github",
"about.help": "HertzBeat's powerful customization, multi-type support, high performance and easy expansion, aims to help users quickly build their own monitoring system.",
"about.help": "HertzBeat's unified platform with AI intelligence, powerful customization, multi-type support, high performance, and easy expansion, aims to help users quickly and conveniently achieve observability needs.",
"about.issue": "Feedback",
"about.not-show-next-login": " Do not show this popup on next login",
"about.point.1": "Monitor-alarm-notify all in one, supports web, database, os, middleware, network etc.",
"about.point.2": "Easy to use, full web-based operations with just a click of a mouse.",
"about.point.3": "Powerful monitoring template capabilities, custom monitoring any metrics you want.",
"about.point.4": "High performance, supports collector cluster, multi-isolated network and cloud-edge.",
"about.point.5": "Flexible alarm threshold rules, timely notification via discord, slack, telegram etc.",
"about.point.6": "Easily build powerful status page to communicate the real-time status to users.",
"about.point.1": "Unified metrics platform, agentless and supports web, db, os, mid, network etc.",
"about.point.2": "Unified logs platform, seamlessly integrates multiple log sources through OTLP.",
"about.point.3": "Unified alarms platform, integrates multiple alert sources, supports flexible threshold rules and alert handling strategies.",
"about.point.4": "Unified message distribution, timely notification via discord, slack, telegram etc.",
"about.point.5": "Configurable protocols, customize collection metrics through YML templates.",
"about.point.6": "High-performance cluster architecture, supports horizontal scaling of multiple collectors, multi-network isolation monitoring, and status page construction.",
"about.pr": "Contribute",
"about.star": "Star",
"about.title": "An open source, real-time observability system with agentless, cluster, prometheus-compatible, custom and status page.",
"about.title": "Apache HertzBeat™ is an AI-powered next-generation open-source real-time observability system. Unified collection of metrics and logs, one-stop alert distribution, intelligent management and analysis.",
"about.upgrade": "Upgrade",
"alert": "Alert",
"alert.center.clear": "Clear All",
@@ -196,6 +196,7 @@
"alert.notice.type.WeComApp-userId": "User ID(separated by | symbol)",
"alert.notice.type.access-token": "Robot ACCESS_TOKEN",
"alert.notice.type.ding": "DingDing Robot",
"alert.notice.type.ding-secret": "Robot Secret",
"alert.notice.type.discord": "Discord Bot",
"alert.notice.type.discord-bot-token": "Discord Bot Token",
"alert.notice.type.discord-channel-id": "Discord Channel ID",
@@ -388,8 +389,8 @@
"app.login.notify": "Please Login!",
"app.login.remember-me": "Remember me",
"app.login.tab-login-credentials": "Sign In HertzBeat",
"app.passport.desc": "An Open Source Real-Time Observability System",
"app.passport.intro-1": "Open Source、Distributed",
"app.passport.desc": "AI-powered Next-Generation Open Source Real-Time Observability System",
"app.passport.intro-1": "Open Source, High Performance, AI-powered",
"app.passport.intro-2": "Real-Time Observability",
"app.role.admin": "administrator",
"app.theme.compact": "Compact Theme",
+11 -10
View File
@@ -3,18 +3,18 @@
"about.doc": "ドキュメント",
"about.gitee": "Gitee",
"about.github": "Github",
"about.help": "HertzBeatの強力なカスタマイズ、多種類のサポート、高性能および容易な拡張性、ユーザーが迅速に独自の監視システムを構築するのを支援することを目的としています。",
"about.help": "HertzBeatの統合プラットフォームは、AI知能、強力なカスタマイズ、多種類のサポート、高性能容易な拡張性を備え、ユーザーが迅速かつ便利に観測ニーズを実現できるよう支援することを目的としています。",
"about.issue": "フィードバック",
"about.not-show-next-login": "次回ログイン時にこのポップアップを表示しない",
"about.point.1": "モニター・アラーム・通知を一体化し、Web、データベース、OS、ミドルウェア、ネットワークなどをサポート。",
"about.point.2": "使いやすさを重視し、マウスのクリックだけで完全なWebベースの操作が可能。",
"about.point.3": "強力な監視テンプレート機能で、任意のメトリクスをカスタム監視。",
"about.point.4": "高性能で、コレクタークラスタ、マルチアイソレートネットワーク、クラウドエッジをサポート。",
"about.point.5": "柔軟なアラーム閾値ルールで、discord、slack、telegramなどを通じてタイムリーに通知。",
"about.point.6": "強力なステータスページを簡単に構築し、リアルタイムのステータスをユーザーと共有。",
"about.point.1": "統合メトリクスプラットフォーム、エージェントレス、アプリケーション、データベース、オペレーティングシステム、ミドルウェアなどのフルスタック観測をサポート。",
"about.point.2": "統合ログプラットフォーム、OTLPプロトコルを通じて複数のログソースをシームレスに統合。",
"about.point.3": "統合アラートプラットフォーム、内部および外部のアラートソースを統合し、柔軟な閾値ルールとアラート処理戦略をサポート。",
"about.point.4": "統合メッセージ配信、メール、Discord、Slack、Telegram など複数の通知方法をサポート。",
"about.point.5": "設定可能なプロトコル、YMLテンプレートを通じて収集メトリクスをカスタマイズし、新しい監視タイプに迅速に適応。",
"about.point.6": "高性能クラスターアーキテクチャ、複数コレクターの水平スケーリング、マルチネットワーク分離監視、ステータスページ構築をサポート。",
"about.pr": "貢献",
"about.star": "スター",
"about.title": "Apache HertzBeat™ はオープンソースリアルタイム監視システム、エージェントレス、クラスタ対応、Prometheus互換、カスタムおよびステータスページ付き。",
"about.title": "Apache HertzBeat™ は AI 駆動の次世代オープンソースリアルタイム観測システムです。メトリクスとログの統合収集、ワンストップアラート配信、インテリジェント管理分析。",
"about.upgrade": "アップグレード",
"alert": "アラート",
"alert.center.clear": "すべてクリア",
@@ -196,6 +196,7 @@
"alert.notice.type.WeComApp-userId": "ユーザーID|記号で区切る)",
"alert.notice.type.access-token": "ロボットACCESS_TOKEN",
"alert.notice.type.ding": "DingDing ロボット",
"alert.notice.type.ding-secret": "DingTalkロボット秘密鍵",
"alert.notice.type.discord": "Discord ボット",
"alert.notice.type.discord-bot-token": "Discord ボットトークン",
"alert.notice.type.discord-channel-id": "Discord チャンネルID",
@@ -379,8 +380,8 @@
"app.login.notify": "ログインしてください!",
"app.login.remember-me": "ログイン状態を保持",
"app.login.tab-login-credentials": "HertzBeatにサインイン",
"app.passport.desc": "オープンソースリアルタイムオブザーバビリティシステム",
"app.passport.intro-1": "オープンソース、分散型",
"app.passport.desc": "AI駆動の次世代オープンソースリアルタイムオブザーバビリティシステム",
"app.passport.intro-1": "オープンソース、高性能、AI駆動",
"app.passport.intro-2": "リアルタイム観測",
"app.role.admin": "管理者",
"app.theme.compact": "コンパクトテーマ",
+12 -11
View File
@@ -172,6 +172,7 @@
"alert.notice.type.WeCom-robot-key": "Chave do Robô WeCom",
"alert.notice.type.access-token": "Token de Acesso do Robô",
"alert.notice.type.ding": "Robô DingDing",
"alert.notice.type.ding-secret": "Chave Secreta do Robô DingDing",
"alert.notice.type.fei-shu": "Robô FeiShu",
"alert.notice.type.fei-shu-key": "Chave do Robô FeiShu",
"alert.notice.type.telegram-bot": "Bot do Telegram",
@@ -801,9 +802,9 @@
"app.role.admin": "administrador",
"app.lock": "Desbloquear",
"app.lock.placeholder": "Digite qualquer coisa para desbloquear",
"app.passport.desc": "Sistema de observabilidad en tiempo real de código abierto",
"app.passport.intro-1": "Código Aberto, Distribuído",
"app.passport.intro-2": "Monitoramento em Tempo Real",
"app.passport.desc": "Sistema de Observabilidade em Tempo Real de Código Aberto da Próxima Geração Impulsionado por IA",
"app.passport.intro-1": "Código Aberto, Alto Desempenho, Impulsionado por IA",
"app.passport.intro-2": "Observabilidade em Tempo Real",
"app.login.message-need-identifier": "Por favor, insira seu nome de usuário",
"app.login.message-need-credential": "Por favor, insira a senha",
"app.login.message-invalid-credentials": "Nome de usuário ou senha inválidos",
@@ -950,14 +951,14 @@
"collector.notify.no-select-offline": "Nenhum item selecionado para coletor offline!",
"collector.help": "O Cluster de Coletores é usado para gerenciar nós de cluster de coletores registrados, exibir o status atual do coletor e a distribuição de tarefas de agendamento, e suporta operações como implantação, exclusão, offline de coletores.<br>Além de usar o coletor embutido, você pode registrar vários coletores para uso em cenários de <strong>Cluster de Alto Desempenho</strong> ou <strong>Colaboração Nuvem-Edge</strong>.",
"collector.help.link": "https://hertzbeat.apache.org/docs/help/guide",
"about.title": "Um sistema de monitoramento em tempo real de código aberto, sem agente, cluster, compatível com prometheus, personalizado e página de status.",
"about.point.1": "Monitoramento-alerta-notificação tudo em um, suporta web, banco de dados, sistema operacional, middleware, rede, etc.",
"about.point.2": "Fácil de usar, operações totalmente baseadas na web com apenas um clique do mouse.",
"about.point.3": "Capacidades poderosas de modelo de monitoramento, monitoramento personalizado de qualquer métrica que você desejar.",
"about.point.4": "Alto desempenho, suporta cluster de coletores, rede multi-isolada e nuvem-edge.",
"about.point.5": "Regras de limite de alarme flexíveis, notificação oportuna via discord, slack, telegram, etc.",
"about.point.6": "Construa facilmente uma página de status poderosa para comunicar o status em tempo real aos usuários.",
"about.help": "A poderosa personalização do HertzBeat, suporte a vários tipos, alto desempenho e fácil expansão, visa ajudar os usuários a construir rapidamente seu próprio sistema de monitoramento.",
"about.title": "Apache HertzBeat™ é um sistema de observabilidade em tempo real de código aberto da próxima geração impulsionado por IA. Coleta unificada de métricas e logs, distribuição de alertas em um só lugar, gerenciamento e análise inteligentes.",
"about.point.1": "Plataforma de métricas unificada, sem agente, suporta observabilidade de pilha completa para aplicações, bancos de dados, sistemas operacionais, middleware, etc.",
"about.point.2": "Plataforma de logs unificada, integra perfeitamente múltiplas fontes de log através do protocolo OTLP.",
"about.point.3": "Plataforma de alertas unificada, integra fontes de alerta internas e externas, suporta regras de limite flexíveis e estratégias de tratamento de alertas.",
"about.point.4": "Distribuição de mensagens unificada, suporta múltiplos métodos de notificação incluindo email, Discord, Slack, etc.",
"about.point.5": "Protocolos configuráveis, personaliza métricas de coleta através de templates YML, adapta-se rapidamente a novos tipos de monitoramento.",
"about.point.6": "Arquitetura de cluster de alto desempenho, suporta escalonamento horizontal de múltiplos coletores, monitoramento de isolamento de múltiplas redes e construção de páginas de status.",
"about.help": "A plataforma unificada do HertzBeat com inteligência AI, personalização poderosa, suporte a múltiplos tipos, alto desempenho e fácil expansão, visa ajudar os usuários a alcançar rapidamente e convenientemente as necessidades de observabilidade.",
"about.github": "Github",
"about.gitee": "Gitee",
"about.issue": "Feedback",
+11 -10
View File
@@ -3,18 +3,18 @@
"about.doc": "文档中心",
"about.gitee": "Gitee",
"about.github": "Github",
"about.help": "HertzBeat 的强大自定义,多类型支持,高性能,易扩展,希望能帮助用户快速构建自有监控系统。",
"about.help": "HertzBeat 的统一平台,AI智能,强大自定义,多类型支持,高性能,易扩展,希望能帮助用户快速方便实现观测需求。",
"about.issue": "反馈问题",
"about.not-show-next-login": "下次登录不再弹出此弹窗",
"about.point.1": "一站式监控告警通知,支持应用服务,数据库操作系统中间件,云原生,网络等。",
"about.point.2": "易用友好,无需 Agent,全页面操作,鼠标点一点就能监控告警。",
"about.point.3": "强大监控模版能力,自定义监控任何您想要的指标。",
"about.point.4": "高性能,采集器集群横向扩展,支持多隔离网络监控,云边协同。",
"about.point.5": "自由的阈值规则,邮件钉钉微信飞书短信等消息及时送达。",
"about.point.6": "提供强大的状态页构建功能,轻松向用户传达您产品服务的实时状态。",
"about.point.1": "统一指标平台,无需 Agent,支持应用数据库操作系统中间件等全栈观测。",
"about.point.2": "统一日志平台,通过 OTLP 协议实现多日志源无缝对接。",
"about.point.3": "统一告警平台,集成内外部告警源,支持灵活的阈值规则和告警处理策略。",
"about.point.4": "统一消息分发,支持邮件、钉钉、微信、飞书、Slack 等多种通知方式。",
"about.point.5": "协议可配置化,通过 YML 模板自定义采集指标,快速适配新监控类型。",
"about.point.6": "高性能集群架构,支持多采集器横向扩展、多网络隔离监控和状态页构建。",
"about.pr": "贡献代码",
"about.star": "点赞支持",
"about.title": "Apache HertzBeat™ 是一个开源实时观测系统,无需Agent,性能集群,兼容Prometheus,自定义监控和状态页构建能力。",
"about.title": "Apache HertzBeat™ 是 AI 驱动的下一代开源实时观测系统。指标日志统一收集,告警一站分发,智能管控分析。",
"about.upgrade": "升级指引",
"alert": "告警",
"alert.center.clear": "一键清空",
@@ -196,6 +196,7 @@
"alert.notice.type.WeComApp-userId": "用户id(多个使用|符号分隔)",
"alert.notice.type.access-token": "机器人ACCESS_TOKEN",
"alert.notice.type.ding": "钉钉机器人",
"alert.notice.type.ding-secret": "钉钉机器人密钥",
"alert.notice.type.discord": "Discord机器人",
"alert.notice.type.discord-bot-token": "Discord Bot Token",
"alert.notice.type.discord-channel-id": "Discord频道ID",
@@ -391,8 +392,8 @@
"app.login.notify": "请先登录!",
"app.login.remember-me": "自动登录",
"app.login.tab-login-credentials": "登入 HertzBeat",
"app.passport.desc": "开源实时观测系统",
"app.passport.intro-1": "开源、高性能、分布式的",
"app.passport.desc": "AI 驱动的下一代开源实时观测系统",
"app.passport.intro-1": "开源、高性能、AI 驱动的",
"app.passport.intro-2": "实时观测",
"app.role.admin": "管理员",
"app.theme.compact": "紧凑主题",
+12 -11
View File
@@ -3,18 +3,18 @@
"about.doc": "文檔中心",
"about.gitee": "Gitee",
"about.github": "Github",
"about.help": "HertzBeat 的強大自定義,多類型支持,高性能,易擴展,希望能幫助用戶快速構建自有監控系統。",
"about.help": "HertzBeat 的統一平台,AI智能,強大自定義,多類型支持,高性能,易擴展,希望能幫助用戶快速方便實現觀測需求。",
"about.issue": "反饋問題",
"about.not-show-next-login": "下次登錄不再顯示",
"about.point.1": "一站式監控告警通知,支持應用服務,數據庫操作系統中間件,雲原生,網絡等。",
"about.point.2": "易用友好,無需 Agent,全頁面操作,鼠標點一點就能監控告警。",
"about.point.3": "強大監控模版能力,自定義監控任何您想要的指標。",
"about.point.4": "高性能,採集器集群橫向擴展,支持多隔離網絡監控,雲邊協同。",
"about.point.5": "自由的閾值規則,郵件釘釘微信飛書短信等消息及時送達。",
"about.point.6": "提供強大的狀態頁構建功能,輕鬆向用戶傳達您產品服務的實時狀態。",
"about.point.1": "統一指標平台,無需 Agent,支持應用數據庫操作系統中間件等全棧觀測。",
"about.point.2": "統一日誌平台,通過 OTLP 協議實現多日誌源無縫對接。",
"about.point.3": "統一告警平台,集成內外部告警源,支持靈活的閾值規則和告警處理策略。",
"about.point.4": "統一消息分發,支持郵件、Discord、Slack、Telegram 等多種通知方式。",
"about.point.5": "協議可配置化,通過 YML 模板自定義採集指標,快速適配新監控類型。",
"about.point.6": "高性能集群架構,支持多採集器橫向擴展、多網絡隔離監控和狀態頁構建。",
"about.pr": "貢獻代碼",
"about.star": "點贊支持",
"about.title": "Apache HertzBeat™ 是一個開源實時監控系統,無需Agent,性能集羣,兼容Prometheus,自定義監控和狀態頁構建能力。",
"about.title": "Apache HertzBeat™ 是 AI 驅動的下一代開源實時觀測系統。指標日誌統一收集,告警一站分發,智能管控分析。",
"about.upgrade": "升級指引",
"alert": "告警",
"alert.center.clear": "一鍵清空",
@@ -195,6 +195,7 @@
"alert.notice.type.WeComApp-userId": "使用者id(多個使用|符號分隔)",
"alert.notice.type.access-token": "機器人ACCESS_TOKEN",
"alert.notice.type.ding": "釘釘機器人",
"alert.notice.type.ding-secret": "釘釘機器人密鑰",
"alert.notice.type.discord": "Discord機器人",
"alert.notice.type.discord-bot-token": "Discord Bot Token",
"alert.notice.type.discord-channel-id": "Discord頻道ID",
@@ -383,9 +384,9 @@
"app.login.notify": "请先登錄!",
"app.login.remember-me": "自動登錄",
"app.login.tab-login-credentials": "登錄 HertzBeat",
"app.passport.desc": "開源實時觀測系統",
"app.passport.intro-1": "開源、高能、分散式的",
"app.passport.intro-2": "時觀測",
"app.passport.desc": "AI 驅動的下一代開源實時觀測系統",
"app.passport.intro-1": "開源、高能、AI 驅動的",
"app.passport.intro-2": "時觀測",
"app.role.admin": "管理員",
"app.theme.compact": "緊湊主題",
"app.theme.dark": "深色主題",