This is an automated email from the ASF dual-hosted git repository.
yinyijun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hertzbeat.git
The following commit(s) were added to refs/heads/master by this push:
new 0a1b5961e9 [feat] Support apollo configuration center monitoring
(#3768)
0a1b5961e9 is described below
commit 0a1b5961e92a3171ecd9af575aef3338ffd96f4a
Author: Duansg <[email protected]>
AuthorDate: Mon Sep 15 08:48:52 2025 +0800
[feat] Support apollo configuration center monitoring (#3768)
---
.../src/main/resources/define/app-apollo.yml | 438 +++++++++++++++++++++
home/blog/2025-08-24-hertzbeat-graduation.md | 42 +-
home/blog/2025-09-06-hertzbeat-v1.7.3.md | 1 -
home/docs/community/contribution.md | 6 +-
home/docs/help/apollo.md | 61 +++
home/docs/help/risc-v.md | 15 +-
home/docs/start/questdb-init.md | 27 +-
.../2025-08-24-hertzbeat-graduation.md | 33 +-
.../current/community/contribution.md | 4 +-
.../current/help/apollo.md | 57 +++
.../current/help/risc-v.md | 9 +-
.../current/start/questdb-init.md | 5 -
12 files changed, 622 insertions(+), 76 deletions(-)
diff --git a/hertzbeat-manager/src/main/resources/define/app-apollo.yml
b/hertzbeat-manager/src/main/resources/define/app-apollo.yml
new file mode 100644
index 0000000000..9194032203
--- /dev/null
+++ b/hertzbeat-manager/src/main/resources/define/app-apollo.yml
@@ -0,0 +1,438 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# The monitoring type category: service-application service monitoring,
db-database monitoring, custom-custom monitoring.
+category: mid
+# The monitoring application type name (consistent with the file name)
+app: apollo
+# The monitoring i18n name
+name:
+ zh-CN: Apollo配置中心
+ en-US: Apollo Configuration Center
+# The description and help of this monitoring type
+help:
+ zh-CN: HertzBeat 对 Apollo 配置中心的通用指标进行测量监控。<br>您可以点击 “<i>新建 Apollo 配置中心</i>”
并进行配置,或者选择“<i>更多操作</i>”,导入已有配置。<br>⚠️注意:adminservice、configservice、portal目前需要分别配置,只需要更改地址+端口即可。
+ en-US: HertzBeat monitors common metrics for Apollo Configuration
Centers.<br>You can click "<i>Create New Apollo Configuration Center</i>" to
configure it, or select "<i>More Actions</i>" to import an existing
configuration. <br>⚠️Note:adminservice, configservice, and portal currently
require separate configuration. Simply modify the address and port.
+helpLink:
+ zh-CN: https://hertzbeat.apache.org/zh-cn/docs/help/apollo
+ en-US: https://hertzbeat.apache.org/docs/help/apollo
+# Input params define for monitoring(render web ui by the definition)
+params:
+ # field-param field key
+ - field: host
+ # name-param field display i18n name
+ name:
+ zh-CN: 目标Host
+ en-US: Target Host
+ ja-JP: 目標ホスト
+ # type-param field type(most mapping the html input type)
+ type: host
+ # required-true or false
+ required: true
+ # field-param field key
+ - field: port
+ # name-param field display i18n name
+ name:
+ zh-CN: 端口
+ en-US: Port
+ ja-JP: ポート
+ # type-param field type(most mapping the html input type)
+ type: number
+ # when type is number, range is required
+ range: '[0,65535]'
+ required: true
+ defaultValue: 8080
+ # field-param field key
+ - field: timeout
+ # name-param field display i18n name
+ name:
+ zh-CN: 查询超时时间
+ en-US: Query Timeout
+ ja-JP: クエリタイムアウト
+ type: number
+ required: false
+ # hide param-true or false
+ hide: true
+ # default value
+ defaultValue: 6000
+
+# collect metrics config list
+metrics:
+ # Basic information indicators
+ - name: application_ready_time_seconds
+ i18n:
+ zh-CN: 应用启动耗时
+ en-US: Application ready time
+ # metrics scheduling priority(0->127)->(high->low), metrics with the same
priority will be scheduled in parallel
+ # priority 0's metrics is availability metrics, it will be scheduled
first, only availability metrics collect success will the scheduling continue
+ priority: 0
+ # collect metrics content
+ fields:
+ # field-metric name, type-metric type(0-number,1-string), unit-metric
unit('%','ms','MB'), label-whether it is a metrics label field
+ - field: main_application_class
+ type: 1
+ label: true
+ i18n:
+ zh-CN: 主应用类
+ en-US: Main class
+ - field: metric_value
+ type: 0
+ unit: 's'
+ i18n:
+ zh-CN: 耗时
+ en-US: Time Consuming
+ # the protocol used for monitoring, eg: sql, ssh, http, telnet, wmi, snmp,
sdk
+ protocol: http
+ # the config content when protocol is http
+ http:
+ # http host: ipv4 ipv6 domain
+ host: ^_^host^_^
+ # http port
+ port: ^_^port^_^
+ # http url
+ url: /prometheus
+ # http method: GET POST PUT DELETE PATCH
+ method: GET
+ # http response data parse type: default-hertzbeat rule,
jsonpath-jsonpath script, website-for website monitoring, prometheus-prometheus
exporter rule
+ parseType: prometheus
+
+ - name: process_uptime_seconds
+ i18n:
+ zh-CN: 进程已运行时间
+ en-US: Process uptime
+ priority: 1
+ fields:
+ - field: metric_value
+ type: 0
+ unit: 's'
+ i18n:
+ zh-CN: 运行时间
+ en-US: uptime
+ protocol: http
+ http:
+ host: ^_^host^_^
+ port: ^_^port^_^
+ url: /prometheus
+ method: GET
+ parseType: prometheus
+
+ - name: process_cpu_usage
+ i18n:
+ zh-CN: 进程 CPU 使用率
+ en-US: Process CPU usage
+ priority: 2
+ fields:
+ - field: metric_value
+ type: 0
+ unit: '%'
+ i18n:
+ zh-CN: 使用率
+ en-US: Usage
+ aliasFields:
+ - metric_value
+ calculates:
+ - metric_value=metric_value*100
+ protocol: http
+ http:
+ host: ^_^host^_^
+ port: ^_^port^_^
+ url: /prometheus
+ method: GET
+ parseType: prometheus
+
+ - name: system_cpu_usage
+ i18n:
+ zh-CN: 系统 CPU 使用率
+ en-US: System CPU usage
+ priority: 3
+ fields:
+ - field: metric_value
+ type: 0
+ unit: '%'
+ i18n:
+ zh-CN: 使用率
+ en-US: Usage
+ aliasFields:
+ - metric_value
+ calculates:
+ - metric_value=metric_value*100
+ protocol: http
+ http:
+ host: ^_^host^_^
+ port: ^_^port^_^
+ url: /prometheus
+ method: GET
+ parseType: prometheus
+
+ - name: system_load_average_1m
+ i18n:
+ zh-CN: 系统最近一分钟平均负载
+ en-US: System load average (1m)
+ priority: 4
+ fields:
+ - field: metric_value
+ type: 0
+ i18n:
+ zh-CN: 负载
+ en-US: load
+ protocol: http
+ http:
+ host: ^_^host^_^
+ port: ^_^port^_^
+ url: /prometheus
+ method: GET
+ parseType: prometheus
+
+ - name: jvm_memory_committed_bytes
+ i18n:
+ zh-CN: JVM 已提交内存数
+ en-US: JVM memory committed bytes
+ priority: 5
+ fields:
+ - field: area
+ label: true
+ i18n:
+ zh-CN: 区域
+ en-US: Area
+ type: 1
+ - field: id
+ label: true
+ i18n:
+ zh-CN: 内存块Id
+ en-US: Memory Block Id
+ type: 1
+ - field: metric_value
+ i18n:
+ zh-CN: JVM请求内存大小(当前)
+ en-US: JVM requests memory size (current)
+ type: 0
+ unit: MB
+ units:
+ - value=B->MB
+ protocol: http
+ http:
+ host: ^_^host^_^
+ port: ^_^port^_^
+ url: /prometheus
+ method: GET
+ parseType: prometheus
+
+ - name: jvm_memory_used_bytes
+ i18n:
+ zh-CN: JVM 已使用内存数
+ en-US: JVM memory used bytes
+ priority: 6
+ fields:
+ - field: area
+ label: true
+ i18n:
+ zh-CN: 区域
+ en-US: Area
+ type: 1
+ - field: id
+ label: true
+ i18n:
+ zh-CN: 内存块Id
+ en-US: Memory Block Id
+ type: 1
+ - field: metric_value
+ i18n:
+ zh-CN: JVM已使用内存大小
+ en-US: JVM used memory size
+ type: 0
+ unit: MB
+ units:
+ - value=B->MB
+ protocol: http
+ http:
+ host: ^_^host^_^
+ port: ^_^port^_^
+ url: /prometheus
+ method: GET
+ parseType: prometheus
+
+ - name: jvm_memory_max_bytes
+ i18n:
+ zh-CN: JVM 最大内存数
+ en-US: JVM memory max bytes
+ priority: 7
+ fields:
+ - field: area
+ label: true
+ i18n:
+ zh-CN: 区域
+ en-US: Area
+ type: 1
+ - field: id
+ label: true
+ i18n:
+ zh-CN: 内存块Id
+ en-US: Memory Block Id
+ type: 1
+ - field: metric_value
+ i18n:
+ zh-CN: JVM 最大内存大小
+ en-US: JVM used memory size
+ type: 0
+ unit: MB
+ units:
+ - value=B->MB
+ protocol: http
+ http:
+ host: ^_^host^_^
+ port: ^_^port^_^
+ url: /prometheus
+ method: GET
+ parseType: prometheus
+
+ - name: jvm_gc_pause_seconds_count
+ i18n:
+ zh-CN: JVM GC 暂停次数
+ en-US: Number of JVM GC pause events
+ priority: 8
+ fields:
+ - field: action
+ label: true
+ type: 1
+ i18n:
+ zh-CN: 行为
+ en-US: action
+ - field: cause
+ label: true
+ type: 1
+ i18n:
+ zh-CN: 原因
+ en-US: cause
+ - field: metric_value
+ type: 0
+ i18n:
+ zh-CN: 数量
+ en-US: count
+ protocol: http
+ http:
+ host: ^_^host^_^
+ port: ^_^port^_^
+ url: /prometheus
+ method: GET
+ parseType: prometheus
+
+ - name: jvm_gc_pause_seconds_sum
+ i18n:
+ zh-CN: JVM GC 暂停耗时
+ en-US: Total JVM GC pause time
+ priority: 9
+ fields:
+ - field: action
+ label: true
+ type: 1
+ i18n:
+ zh-CN: 行为
+ en-US: action
+ - field: cause
+ label: true
+ type: 1
+ i18n:
+ zh-CN: 原因
+ en-US: cause
+ - field: metric_value
+ type: 0
+ i18n:
+ zh-CN: 耗时
+ en-US: time-consuming
+ protocol: http
+ http:
+ host: ^_^host^_^
+ port: ^_^port^_^
+ url: /prometheus
+ method: GET
+ parseType: prometheus
+
+ - name: jvm_memory_usage_after_gc_percent
+ i18n:
+ zh-CN: GC 执行后 JVM 内存使用率百分比
+ en-US: JVM heap usage after garbage collection (%)
+ priority: 10
+ fields:
+ - field: area
+ label: true
+ i18n:
+ zh-CN: 区域
+ en-US: Area
+ type: 1
+ - field: pool
+ label: true
+ i18n:
+ zh-CN: 内存池
+ en-US: Heap pool
+ type: 1
+ - field: metric_value
+ type: 0
+ unit: '%'
+ i18n:
+ zh-CN: 使用率
+ en-US: Usage
+ aliasFields:
+ - area
+ - pool
+ - metric_value
+ calculates:
+ - area
+ - pool
+ - metric_value=metric_value*100
+ protocol: http
+ http:
+ host: ^_^host^_^
+ port: ^_^port^_^
+ url: /prometheus
+ method: GET
+ parseType: prometheus
+
+ - name: process_files_max_files
+ i18n:
+ zh-CN: 允许进程打开的最大文件描述符数
+ en-US: Process maximum open files
+ priority: 11
+ fields:
+ - field: metric_value
+ type: 0
+ i18n:
+ zh-CN: 数量
+ en-US: quantity
+ protocol: http
+ http:
+ host: ^_^host^_^
+ port: ^_^port^_^
+ url: /prometheus
+ method: GET
+ parseType: prometheus
+
+ - name: process_files_open_files
+ i18n:
+ zh-CN: 进程打开的文件描述符数量
+ en-US: Process open files
+ priority: 12
+ fields:
+ - field: metric_value
+ type: 0
+ i18n:
+ zh-CN: 数量
+ en-US: quantity
+ protocol: http
+ http:
+ host: ^_^host^_^
+ port: ^_^port^_^
+ url: /prometheus
+ method: GET
+ parseType: prometheus
diff --git a/home/blog/2025-08-24-hertzbeat-graduation.md
b/home/blog/2025-08-24-hertzbeat-graduation.md
index 1762422cc0..5340640361 100644
--- a/home/blog/2025-08-24-hertzbeat-graduation.md
+++ b/home/blog/2025-08-24-hertzbeat-graduation.md
@@ -31,7 +31,7 @@ tags: [opensource, apache]
## 2. Incubation Journey and Milestones
-#### **I. Incubation Journey**
+### **I. Incubation Journey**
- **April 2024**:
HertzBeat officially applied to join the Apache Incubator and became an
Apache Incubator project.
@@ -54,14 +54,14 @@ During the incubation period, Hertzbeat maintained an
active pace of research, d
- Released 5 ASF-compliant versions (1.6.0 - 1.7.2)
- Key feature enhancements include:
- - **Multi-protocol expansion** - Added support for key components or
protocols such as Ipmi, PLC, NVIDIA, Redfish.
- - **Intelligent alert center** - Implemented multi-expression alerts,
periodic thresholds, and alert suppression/silencing/dispatch functions.
- - **Dynamic service discovery** - Achieved automatic task discovery
through http_sd and Zookeeper/Nacos.
- - **Cloud service integration** - Supported integration with alert sources
from Alibaba Cloud SLS, Huawei Cloud, and Volcano Engine.
- - **AI capability enhancement** - Integrated AI platforms such as OpenAI.
- - **Storage optimization** - Upgraded storage performance for
VictoriaMetrics and GreptimeDB.
- - **Internationalization support** - Added multi-language interfaces,
including Japanese/Traditional Chinese.
- - **Data processing enhancement** - Supported SQL/PromQL expression syntax
analysis, refactoring data flow with Apache Arrow.
+ - **Multi-protocol expansion** - Added support for key components or
protocols such as Ipmi, PLC, NVIDIA, Redfish.
+ - **Intelligent alert center** - Implemented multi-expression alerts,
periodic thresholds, and alert suppression/silencing/dispatch functions.
+ - **Dynamic service discovery** - Achieved automatic task discovery through
http_sd and Zookeeper/Nacos.
+ - **Cloud service integration** - Supported integration with alert sources
from Alibaba Cloud SLS, Huawei Cloud, and Volcano Engine.
+ - **AI capability enhancement** - Integrated AI platforms such as OpenAI.
+ - **Storage optimization** - Upgraded storage performance for
VictoriaMetrics and GreptimeDB.
+ - **Internationalization support** - Added multi-language interfaces,
including Japanese/Traditional Chinese.
+ - **Data processing enhancement** - Supported SQL/PromQL expression syntax
analysis, refactoring data flow with Apache Arrow.
The continuous iteration of these versions fully demonstrates Hertzbeat's
dedication to technology and its high regard for user needs. Each version
release is a solid step in Hertzbeat's growth, bringing users a more powerful
and user-friendly monitoring experience.
@@ -74,31 +74,31 @@ During the Apache incubation period, Hertzbeat strictly
adhered to the Apache Wa
- **Consensus-driven decision-making**: For key decisions such as adding or
removing features and choosing technical routes, the community engages in
thorough discussions, weighing various factors. If a complete consensus cannot
be reached, voting is used to assist, ensuring that the project's direction
aligns with the overall interests of the community.
- **Contributor Growth**:
- - During the incubation period, **13 new Committers** were added,
including **3 nominated PPMC members**, and the number of contributors reached
275. The core team also covers multiple time zones in China, the US, and Europe.
- - GitHub **Stars surpassed 6K+**, with an average of **30+** monthly
active developers.
+ - During the incubation period, **13 new Committers** were added, including
**3 nominated PPMC members**, and the number of contributors reached 275. The
core team also covers multiple time zones in China, the US, and Europe.
+ - GitHub **Stars surpassed 6K+**, with an average of **30+** monthly active
developers.
- **User Ecosystem**:
- - **Application Areas**: Since its incubation, Apache HertzBeat™ has been
successfully implemented in various industry scenarios due to its lightweight,
agentless, and highly scalable features, becoming a new choice for enterprise
monitoring infrastructure.
- - **Developer Ecosystem**: The community has contributed a large number of
monitoring templates covering mainstream technology stacks such as Kubernetes,
Docker, Redis, and MySQL, significantly reducing the cost of monitoring
configuration.
+ - **Application Areas**: Since its incubation, Apache HertzBeat™ has been
successfully implemented in various industry scenarios due to its lightweight,
agentless, and highly scalable features, becoming a new choice for enterprise
monitoring infrastructure.
+ - **Developer Ecosystem**: The community has contributed a large number of
monitoring templates covering mainstream technology stacks such as Kubernetes,
Docker, Redis, and MySQL, significantly reducing the cost of monitoring
configuration.
## 3. Future Outlook and Plans
Becoming an Apache Top-Level Project is a milestone, but it is also a new
beginning. The Apache HertzBeat™ community will continue to uphold the Apache
Foundation's "community over code" philosophy and evolve around the following
core directions, striving to become a world-leading open-source observability
platform:
1. AI and Intelligent Capabilities
-- Explore the application of AI in monitoring data analysis, anomaly
detection, and intelligent alerting.
-- Integrate more AI models and services to enhance the user experience.
+ - Explore the application of AI in monitoring data analysis, anomaly
detection, and intelligent alerting.
+ - Integrate more AI models and services to enhance the user experience.
2. Enhance Product Performance and Scalability
-- Continuously optimize collection scheduling algorithms and cluster
architecture to support larger-scale monitoring scenarios.
-- Improve system stability, reduce resource consumption, and enhance data
processing efficiency.
+ - Continuously optimize collection scheduling algorithms and cluster
architecture to support larger-scale monitoring scenarios.
+ - Improve system stability, reduce resource consumption, and enhance data
processing efficiency.
3. Improve Functionality and User Experience
-- Simplify the monitoring configuration process and provide a more intuitive
and user-friendly interface.
-- Enhance the status page functionality and support more customization options.
+ - Simplify the monitoring configuration process and provide a more
intuitive and user-friendly interface.
+ - Enhance the status page functionality and support more customization
options.
4. Strengthen Community Building and Internationalization
-- Expand the community size and attract more contributors to participate in
project development.
-- Improve multi-language support, including document internationalization and
interface localization.
+ - Expand the community size and attract more contributors to participate in
project development.
+ - Improve multi-language support, including document internationalization
and interface localization.
## 4. Acknowledgments
diff --git a/home/blog/2025-09-06-hertzbeat-v1.7.3.md
b/home/blog/2025-09-06-hertzbeat-v1.7.3.md
index d793ab7b99..815565d3a4 100644
--- a/home/blog/2025-09-06-hertzbeat-v1.7.3.md
+++ b/home/blog/2025-09-06-hertzbeat-v1.7.3.md
@@ -57,7 +57,6 @@ We are thrilled to announce the official release of Apache
HertzBeat™ 1.7.3. T
Special thanks to the following community members for their collaborative
efforts:
-
> @pjfanning @chingjustwe @delei @rowankid @MasamiYui @tomsun28 @Aias00
> @zhangshenghang @zqr10159 @LiuTianyou @yy549159265 @lx1229 @VampireAchao
> @cto-huhang @pwallk @bigcyy @sarthakeash @Carpe-Wang @YxYL6125 @tuzuy
> @lynx009 @Duansg @carlpinto25 @Calvin979 @Cyanty @Saramanda9988
diff --git a/home/docs/community/contribution.md
b/home/docs/community/contribution.md
index 8ce0320ec9..706355b285 100644
--- a/home/docs/community/contribution.md
+++ b/home/docs/community/contribution.md
@@ -143,7 +143,7 @@ git pull upstream master
After your pr is merged, you can send an email `[email protected]` to
request your Apache HertzBeat™ contributor electronic certificate.
-```
+```text
Title: [Contributor] Request for a Contributor Certificate: <Your Full Name>
Body:
Hello,
@@ -165,7 +165,6 @@ Certificate Sample:

-
### HertzBeat Improvement Proposal (HIP)
If you have major new features(e.g., support metrics push gateway, support
logs monitoring), you need to write a design document known as a HertzBeat
Improvement Proposal (HIP). Before starting to write a HIP, make sure you
follow the process [guide](https://github.com/apache/hertzbeat/tree/master/hip).
@@ -176,5 +175,4 @@ With the above steps, you are a contributor to HertzBeat.
Repeat the previous st
### Join Discussion
-[Discussion](contact)
-
+[Discussion](contact)
diff --git a/home/docs/help/apollo.md b/home/docs/help/apollo.md
new file mode 100644
index 0000000000..144ddc8942
--- /dev/null
+++ b/home/docs/help/apollo.md
@@ -0,0 +1,61 @@
+---
+id: apollo
+title: Apollo Configuration Center
+sidebar_label: Apollo Configuration Center
+keywords: [ Open Source Monitoring System, Open Source Middleware Monitoring,
Apollo configuration center monitoring ]
+---
+
+> Monitoring of general metrics for the Apollo Configuration Center service is
performed by calling the Prometheus
+> interface of the Apollo Configuration Center.
+
+### Prerequisites
+
+1. Set up the Apollo configuration center according to
+ the [deployment
documentation](https://www.apolloconfig.com/#/en/deployment/quick-start).
+2. Visit ```http://${someIp:somePort}/prometheus``` to verify if you can
access the metrics data.
+ For more details, please refer
+ to: [Apollo Monitoring
Documentation](https://www.apolloconfig.com/#/en/design/apollo-design?id=v-monitoring-related)
+3. Note⚠️: Starting from version 1.5.0, the Apollo server supports exposing
Prometheus-formatted metrics
+ via `/prometheus`.
+
+### Configuration parameters
+
+| Parameter Name | Parameter Help Description
|
+|-------------------|-----------------------------------------------------------------------------------------------------------------------|
+| Target Host | The monitored peer's IPv4, IPv6, or domain name. Note⚠️:
Do not include protocol headers (e.g., https://, http://). |
+| Port | Pulsar's webServicePort value, defaulting to 8080.
|
+| Task Name | The name identifying this monitoring task. The name must
be unique. |
+| Query Timeout | Set the connection timeout in milliseconds (ms). Default
is 3000 ms. |
+| Monitoring Cycle | The interval time for periodic data collection, measured
in seconds. The minimum configurable interval is 30 seconds. |
+| Binding Tags | Used for classifying and managing monitored resources
|
+| Description Notes | Additional identifiers and descriptive notes for this
monitoring task. Users can add notes here. |
+
+### Collection Metrics
+
+#### Metric Set: Basic Information Metrics
+
+| Metric Name | Unit | Metric Help Description
|
+|--------------------------------|---------|--------------------------------------------------------------------------|
+| application_ready_time_seconds | Seconds | Time taken for the application to
transition from startup to ready state |
+| process_uptime_seconds | seconds | Total time the process has been
running |
+| process_cpu_usage | % | Current process CPU usage
|
+
+#### Metric Set: : JVM
+
+| Metric Name | Unit | Metric Help Description
|
+|-----------------------------------|------|---------------------------------------------------------------|
+| system_cpu_usage | % | System CPU Usage
|
+| system_load_average_1m | None | System load average over the past
minute |
+| jvm_memory_committed_bytes | MB | Size of memory requested by the
JVM from the operating system |
+| jvm_memory_used_bytes | MB | JVM's current actual memory usage
|
+| jvm_memory_max_bytes | MB | Maximum memory limit available to
the JVM |
+| jvm_gc_pause_seconds_count | None | Total number of JVM GC pause
events |
+| jvm_gc_pause_seconds_sum | None | Total time spent in JVM GC pauses
|
+| jvm_memory_usage_after_gc_percent | None | JVM memory usage after garbage
collection |
+
+#### Metric Set: System Resources
+
+| Metric Name | Unit | Metric Help Description
|
+|--------------------------|------|--------------------------------------------------------------------|
+| process_files_max_files | None | Limit on the maximum number of file
descriptors a process may open |
+| process_files_open_files | None | Number of file descriptors currently
opened by the process |
diff --git a/home/docs/help/risc-v.md b/home/docs/help/risc-v.md
index 9c76a7f487..fa906ff12f 100644
--- a/home/docs/help/risc-v.md
+++ b/home/docs/help/risc-v.md
@@ -11,19 +11,19 @@ keywords: [ Open Source Monitoring System, RISC-V
Architecture, RISC-V Running H
Ensure your RISC-V development environment is properly configured, including
compatible hardware or emulators. This guide uses the QEMU emulator on Ubuntu
to simulate RISC-V architecture.
-** 1. Install QEMU and Required Packages **
+**1. Install QEMU and Required Packages**
```shell
sudo apt update
sudo apt install opensbi qemu-system-misc u-boot-qemu
```
-** 2. Download Ubuntu Image for RISC-V Architecture **
+**2. Download Ubuntu Image for RISC-V Architecture**
-Download link: https://ubuntu.com/download/risc-v
+Download link: <https://ubuntu.com/download/risc-v>
Select the `QEMU Emulator` version and download your preferred release.
-** 3. Install Ubuntu on QEMU **
+**3. Install Ubuntu on QEMU**
> Use QEMU to boot Ubuntu and emulate RISC-V architecture. Parameters (e.g.,
> boot settings, disk size) can be customized.
@@ -50,10 +50,10 @@ Reference: [Ubuntu Official
Documentation](https://canonical-ubuntu-boards.readt
> Configure a JDK that supports RISC-V architecture. Here we use Temurin JDK
> 17.
-** 1. Download Temurin JDK **
-Download link: https://adoptium.net/temurin/releases
+**1. Download Temurin JDK**
+Download link: <https://adoptium.net/temurin/releases>
-** 2. Configure JDK Environment **
+**2. Configure JDK Environment**
> Adjust commands based on your downloaded JDK version.
@@ -90,6 +90,7 @@ cd apache-hertzbeat-1.7.2-incubating-bin/bin/
```
> Notes:
+>
> 1. Replace `OpenJDK17U-jdk_riscv64_linux_hotspot_17.0.15_6.tar.gz` with your
> actual JDK filename.
> 2. Ensure the emulator has internet access to download HertzBeat.
> 3. If issues arise, verify disk permissions and Java environment paths.
diff --git a/home/docs/start/questdb-init.md b/home/docs/start/questdb-init.md
index 440bb8a00e..3beb12bcce 100644
--- a/home/docs/start/questdb-init.md
+++ b/home/docs/start/questdb-init.md
@@ -23,10 +23,10 @@ QuestDB is an open-source time-series database that stands
out in the field of t
> If you already have an existing QuestDB environment, you can skip directly
> to the YML configuration step.
### Install QuestDB
-
+<!-- markdownlint-disable MD029 -->
1. Download the installation package
- Download the latest version for your operating system from the official
GitHub repository:
+ Download the latest version for your operating system from the official
GitHub repository:
```shell
# For Linux/macOS (taking v7.3.9 as an example; replace with the latest
version number)
@@ -37,9 +37,9 @@ tar -zxvf questdb-7.3.9-no-jre-bin.tar.gz
mv questdb-7.3.9 /opt/questdb # Move to a common directory
```
- For Windows users:
+ For Windows users:
- Download the zip package and extract it to C:\questdb or a custom
directory.
+ Download the zip package and extract it to C:\questdb or a custom directory.
2. Start QuestDB
@@ -55,9 +55,9 @@ questdb.exe start
3. Set up access password
- QuestDB enables authentication through a configuration file, which
needs to be modified manually.
+ QuestDB enables authentication through a configuration file, which needs to
be modified manually.
- Edit the configuration file:
+ Edit the configuration file:
```shell
# For Linux/macOS
@@ -67,7 +67,7 @@ vi /opt/questdb/conf/server.conf
notepad C:\questdb\conf\server.conf
```
- Enable authentication and configure the password:
+ Enable authentication and configure the password:
```shell
# Enable authentication (disabled by default)
@@ -82,7 +82,7 @@ http.security.admin.password=YourStrongPassword123!
http.bind.to=127.0.0.1:9000
```
- Restart QuestDB for the changes to take effect:
+ Restart QuestDB for the changes to take effect:
```shell
# For Linux/macOS
@@ -96,13 +96,13 @@ questdb.exe start
4. Configure QuestDB connection in HertzBeat's application.yml file
- Modify HertzBeat's configuration file
+ Modify HertzBeat's configuration file
- Locate and edit the configuration file at
hertzbeat/config/application.yml
+ Locate and edit the configuration file at hertzbeat/config/application.yml
- ⚠️ Note: For Docker container deployment, you need to mount the
application.yml file to the host machine. For the installation package
deployment, simply extract the package and modify the file at
hertzbeat/config/application.yml.
+ ⚠️ Note: For Docker container deployment, you need to mount the
application.yml file to the host machine. For the installation package
deployment, simply extract the package and modify the file at
hertzbeat/config/application.yml.
- **Set the** **warehouse.store.jpa.enabled** **parameter to**
**false****, configure the** **warehouse.store.questdb** **data source
parameters (HOST, username, password, etc.), and set** **enabled** **to**
**true** **to enable QuestDB.**
+ **Set the** **warehouse.store.jpa.enabled** **parameter to** **false****,
configure the** **warehouse.store.questdb** **data source parameters (HOST,
username, password, etc.), and set** **enabled** **to** **true** **to enable
QuestDB.**
```yaml
warehouse:
@@ -133,4 +133,5 @@ Parameter Description:
cairo.default.ttl=30d
```
-5. Restart HertzBeat
\ No newline at end of file
+5. Restart HertzBeat
+<!-- markdownlint-enable MD029 -->
diff --git
a/home/i18n/zh-cn/docusaurus-plugin-content-blog/2025-08-24-hertzbeat-graduation.md
b/home/i18n/zh-cn/docusaurus-plugin-content-blog/2025-08-24-hertzbeat-graduation.md
index b9cd6bbe5e..bc89bbee99 100644
---
a/home/i18n/zh-cn/docusaurus-plugin-content-blog/2025-08-24-hertzbeat-graduation.md
+++
b/home/i18n/zh-cn/docusaurus-plugin-content-blog/2025-08-24-hertzbeat-graduation.md
@@ -29,10 +29,9 @@ tags: [opensource, apache]
- 灵活的告警阈值规则,`邮件` `Discord` `Slack` `Telegram` `钉钉` `微信` `飞书` `短信` `Webhook`
`Server酱` 等方式消息及时送达。
- 提供强大的状态页构建能力,轻松向用户传达您产品服务的实时状态。
-
## 2、孵化历程与里程碑
-#### **一、孵化历程**
+### **一、孵化历程**
- **2024年4月**:
@@ -58,14 +57,14 @@ tags: [opensource, apache]
- 发布 5 个 ASF 合规版本(1.6.0 - 1.7.2)
- 特性增强简要:
- - **多协议监控扩展** - 新增对Ipmi、PLC、NVIDIA、Redfish等关键组件或协议的支持
- - **智能告警中心** - 实现多表达式告警、周期性阈值和告警抑制/静默/分发等
- - **动态服务发现** - 通过http_sd和Zookeeper/Nacos实现自动任务发现
- - **云服务集成** - 告警源集成,支持阿里云SLS、华为云、火山引擎告警源对接
- - **AI能力增强** - 集成OpenAI等AI平台
- - **存储优化** - 升级支持更强存储性能
- - **国际化支持** - 新增日语/繁体中文等多语言界面
- - **数据处理增强** - 支持SQL/PromQL表达式语法分析,使用Apache Arrow改造数据流动等
+ - **多协议监控扩展** - 新增对Ipmi、PLC、NVIDIA、Redfish等关键组件或协议的支持
+ - **智能告警中心** - 实现多表达式告警、周期性阈值和告警抑制/静默/分发等
+ - **动态服务发现** - 通过http_sd和Zookeeper/Nacos实现自动任务发现
+ - **云服务集成** - 告警源集成,支持阿里云SLS、华为云、火山引擎告警源对接
+ - **AI能力增强** - 集成OpenAI等AI平台
+ - **存储优化** - 升级支持更强存储性能
+ - **国际化支持** - 新增日语/繁体中文等多语言界面
+ - **数据处理增强** - 支持SQL/PromQL表达式语法分析,使用Apache Arrow改造数据流动等
这些版本的持续迭代,充分彰显 Hertzbeat 对技术的执着追求和对用户需求的高度重视。每一次版本发布,都是 Hertzbeat
成长路上的坚实脚印,为用户带来更强大、更易用的监控体验。
@@ -78,13 +77,11 @@ tags: [opensource, apache]
- **共识导向决策**:面对功能特性增减、技术路线选择等关键决策,社区充分讨论,从多方面权衡。若无法完全统一意见,则投票辅助,保障项目方向契合社区整体利益。
- **贡献者增长**:
- - 孵化期间新增 **13 位 Committer** 其中提名 **3 位 PPMC 成员** 且贡献者达到275人,同时核心团队覆盖中美欧多时区。
- - GitHub **Star 数突破 6K+**,月均活跃开发者达 **30+**。
+ - 孵化期间新增 **13 位 Committer** 其中提名 **3 位 PPMC 成员** 且贡献者达到275人,同时核心团队覆盖中美欧多时区。
+ - GitHub **Star 数突破 6K+**,月均活跃开发者达 **30+**。
- **用户生态**:
- - **使用领域**: 自孵化以来,Apache HertzBeat™
因其轻量、无代理和高度可扩展的特性,已在多个行业场景中成功落地,成为企业监控基础设施的新选择。
- - **开发者生态**:社区贡献了大量的监控模板,覆盖 Kubernetes、Docker、Redis、MySQL
等主流技术栈,极大降低了监控配置成本。
-
-
+ - **使用领域**: 自孵化以来,Apache HertzBeat™
因其轻量、无代理和高度可扩展的特性,已在多个行业场景中成功落地,成为企业监控基础设施的新选择。
+ - **开发者生态**:社区贡献了大量的监控模板,覆盖 Kubernetes、Docker、Redis、MySQL 等主流技术栈,极大降低了监控配置成本。
## 3、 未来展望和规划
@@ -110,8 +107,6 @@ tags: [opensource, apache]
- 扩大社区规模,吸引更多贡献者参与项目开发
- 完善多语言支持,包括文档国际化和界面本地化
-
-
## 4、致谢
Apache HertzBeat™ 能够成功从孵化器毕业,离不开所有社区成员与支持者的共同努力。在此,我们谨致以最诚挚的感谢:
@@ -140,4 +135,4 @@ Apache HertzBeat™ 能够成功从孵化器毕业,离不开所有社区成员
欢迎更多开发者加入我们,玩得开心!
-—— Apache HertzBeat™ 社区 敬上
+—— Apache HertzBeat™ 社区 敬上
diff --git
a/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/community/contribution.md
b/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/community/contribution.md
index 6c6fa05da0..eaa0824d8f 100644
---
a/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/community/contribution.md
+++
b/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/community/contribution.md
@@ -147,7 +147,7 @@ git pull upstream master
在您的 PR 被合并后,您可以发送如下内容邮件到 `[email protected]` 来申请领取属于您的 Apache
HertzBeat™ 贡献者电子证书。
-```
+```text
Title: [Contributor] Request for a Contributor Certificate: <Your Full Name>
Body:
Hello,
@@ -162,7 +162,7 @@ Best regards,
<Your Name>
```
-在几个工作日内,您会收到携带电子证书的回复,您的名字也会出现在贡献者列表中。
+在几个工作日内,您会收到携带电子证书的回复,您的名字也会出现在贡献者列表中。
注意贡献者的证书是电子的,待您成为 `Committer` 或者 `PMC` 的证书是实体的。
证书样例:
diff --git
a/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/apollo.md
b/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/apollo.md
new file mode 100644
index 0000000000..327f411626
--- /dev/null
+++ b/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/apollo.md
@@ -0,0 +1,57 @@
+---
+id: apollo
+title: 监控:Apollo配置中心
+sidebar_label: Apollo配置中心
+keywords: [ 开源监控系统, 开源中间件监控, Apollo配置中心监控 ]
+---
+
+> 通过调用 Apollo配置中心 Prometheus 接口对 Apollo配置中心服务的通用指标进行采集监控。
+
+### 前置条件
+
+1.
按照[部署文档](https://www.apolloconfig.com/#/en/deployment/quick-start)搭建好Apollo配置中心。
+2. 访问```http://${someIp:somePort}/prometheus```,查看是否能访问到metrics数据。
+ 详情请参考:[Apollo
监控相关](https://www.apolloconfig.com/#/en/design/apollo-design?id=v-monitoring-related)
+3. 注意⚠️:从1.5.0版本开始,Apollo服务端支持通过/prometheus暴露prometheus格式的metrics
+
+## 配置参数
+
+| 参数名称 | 参数帮助描述 |
+|--------|------------------------------------------------------|
+| 目标Host | 被监控的对端IPV4,IPV6或域名。注意⚠️不带协议头(eg: https://, http://)。 |
+| 端口 | Pulsar的webServiceProt值,默认为8080。 |
+| 任务名称 | 标识此监控的名称,名称需要保证唯一性。 |
+| 查询超时时间 | 设置连接的超时时间,单位ms毫秒,默认3000毫秒。 |
+| 监控周期 | 监控周期性采集数据间隔时间,单位秒,可设置的最小间隔为30秒 |
+| 绑定标签 | 用于对监控资源进行分类管理 |
+| 描述备注 | 更多标识和描述此监控的备注信息,用户可以在这里备注信息 |
+
+### 采集指标
+
+#### 指标集合:基础信息指标
+
+| 指标名称 | 指标单位 | 指标帮助描述 |
+|--------------------------------|------|---------------|
+| application_ready_time_seconds | 秒 | 应用从启动到就绪状态的耗时 |
+| process_uptime_seconds | 秒 | 进程已运行的总时间 |
+| process_cpu_usage | % | 当前进程的CPU使用率 |
+
+#### 指标集合:jvm
+
+| 指标名称 | 指标单位 | 指标帮助描述 |
+|-----------------------------------|------|------------------|
+| system_cpu_usage | % | 系统CPU使用率 |
+| system_load_average_1m | 无 | 系统最近一分钟平均负载 |
+| jvm_memory_committed_bytes | MB | JVM已向操作系统申请的内存大小 |
+| jvm_memory_used_bytes | MB | JVM当前实际使用的内存大小 |
+| jvm_memory_max_bytes | MB | JVM可使用的最大内存限制 |
+| jvm_gc_pause_seconds_count | 无 | JVM GC暂停事件的总次数 |
+| jvm_gc_pause_seconds_sum | 无 | JVM GC暂停的总耗时 |
+| jvm_memory_usage_after_gc_percent | 无 | JVM GC后的内存使用率 |
+
+#### 指标集合:系统资源
+
+| 指标名称 | 指标单位 | 指标帮助描述 |
+|--------------------------|------|--------------------|
+| process_files_max_files | 无 | 允许进程打开的最大文件描述符数量限制 |
+| process_files_open_files | 无 | 进程当前已打开的文件描述符数量 |
diff --git
a/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/risc-v.md
b/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/risc-v.md
index 53d2525f51..36cb6b1790 100644
--- a/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/risc-v.md
+++ b/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/risc-v.md
@@ -11,14 +11,14 @@ keywords: [ 开源监控系统, RISC-V架构, RISC-V 运行 HertzBeat ]
确保你的 RISC-V 开发环境已正确配置,包括拥有兼容 RISC-V 的设备或模拟器。这里采用在 Ubuntu 环境上搭建 QEMU 模拟器的方式,来模拟
RISC-V 架构。
-** 1. 安装 QEMU 以及软件包 **
+**1. 安装 QEMU 以及软件包**
```shell
sudo apt update
sudo apt install opensbi qemu-system-misc u-boot-qemu
```
-** 2. 下载 RISC-V 架构的 Ubuntu 镜像 **
+**2. 下载 RISC-V 架构的 Ubuntu 镜像**
下载地址:```https://ubuntu.com/download/risc-v```
选择 `QEMU模拟器` , 下载需要的版本。
@@ -47,11 +47,11 @@ qemu-system-riscv64 \
> 在启动的镜像中配置支持 RISC-V 架构的 JDK,这里选用 Temurin JDK 17。
-** 1. 下载 Temurin JDK **
+**1. 下载 Temurin JDK**
下载地址:```https://adoptium.net/zh-CN/temurin/releases```
-** 2. 配置 JDK 环境 **
+**2. 配置 JDK 环境**
> 根据下载的版本不同,做适当更改
@@ -87,6 +87,7 @@ cd apache-hertzbeat-1.7.2-incubating-bin/bin/
```
> 注意事项:
+>
> 1. 请将 `OpenJDK17U-jdk_riscv64_linux_hotspot_17.0.15_6.tar.gz` 替换为您实际下载的 JDK
> 文件名。
> 2. 确保模拟器具备网络访问能力,以下载 HertzBeat。
> 3. 若遇到问题,请检查磁盘权限和 Java 环境路径配置。
diff --git
a/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/start/questdb-init.md
b/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/start/questdb-init.md
index 89948f7e30..ba8446bad8 100644
---
a/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/start/questdb-init.md
+++
b/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/start/questdb-init.md
@@ -87,8 +87,6 @@ QuestDB 是一款开源的时序数据库,因其高性能和低延迟等特点
questdb.exe start
```
-
-
4. 在hertzbeat的`application.yml`配置文件配置QuestDB数据库连接
配置HertzBeat的配置文件
@@ -111,8 +109,6 @@ QuestDB 是一款开源的时序数据库,因其高性能和低延迟等特点
password: quest
```
-
-
参数说明:
| 参数名称 | 参数说明 |
@@ -129,4 +125,3 @@ QuestDB 是一款开源的时序数据库,因其高性能和低延迟等特点
> ```
5. 重启 HertzBeat
-
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]