Copilot commented on code in PR #4017:
URL: https://github.com/apache/hertzbeat/pull/4017#discussion_r2776624832


##########
home/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.8.0/help/spring_gateway.md:
##########
@@ -0,0 +1,90 @@
+---
+id: spring_gateway
+Title: 监控 Spring Cloud Gateway

Review Comment:
   Docusaurus front matter key is typically `title`, not `Title`. Using `Title` 
may cause the page title to be ignored in the generated site. Rename `Title` to 
`title` to ensure consistent rendering.
   ```suggestion
   title: 监控 Spring Cloud Gateway
   ```



##########
home/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.8.0/help/iceberg.md:
##########
@@ -0,0 +1,76 @@
+---
+id: iceberg
+Title: 监控 Apache Iceberg

Review Comment:
   The front matter uses `Title` instead of `title`, which may break Docusaurus 
metadata parsing. Change it to the lowercase `title` key.
   ```suggestion
   title: 监控 Apache Iceberg
   ```



##########
home/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.8.0/help/risc-v.md:
##########
@@ -0,0 +1,93 @@
+---
+id: risc-v
+title: HertzBeat 在 RISC-V 架构环境中运行
+sidebar_label: RISC-V
+keywords: [ 开源监控系统, RISC-V架构, RISC-V 运行 HertzBeat ]
+---
+
+> 如何搭建 RISC-V 环境,并使 HertzBeat 在 RISC-V 架构环境中运行。
+
+## RISC-V 环境搭建
+
+确保你的 RISC-V 开发环境已正确配置,包括拥有兼容 RISC-V 的设备或模拟器。这里采用在 Ubuntu 环境上搭建 QEMU 模拟器的方式,来模拟 
RISC-V 架构。
+
+**1. 安装 QEMU 以及软件包**
+
+```shell
+sudo apt update
+sudo apt install opensbi qemu-system-misc u-boot-qemu
+```
+
+**2. 下载 RISC-V 架构的 Ubuntu 镜像**
+
+下载地址:```https://ubuntu.com/download/risc-v```
+选择 `QEMU模拟器` , 下载需要的版本。
+
+** 3. 在 QEMU 上安装 Ubuntu

Review Comment:
   Markdown formatting looks broken: the bold marker `**` is opened but not 
closed for step 3, which may affect rendering for the rest of the page. Close 
the bold markers (e.g., `**3. 在 QEMU 上安装 Ubuntu**`).
   ```suggestion
   **3. 在 QEMU 上安装 Ubuntu**
   ```



##########
home/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.8.0/help/process.md:
##########
@@ -0,0 +1,87 @@
+---
+id: process  
+title: 监控:Linux 进程监控  
+sidebar_label: Process
+keywords: [开源监控系统, 操作系统进程监控, 进程监控]
+---
+
+> 对Linux系统进程基础信息进行采集监控,包括进程的 CPU使用率、内存使用率、物理内存、IO 等监控
+
+## 配置参数
+
+|  参数名称  |                        参数帮助描述                        |
+|--------|------------------------------------------------------|
+| 目标Host | 被监控的对端IPV4,IPV6或域名。注意⚠️不带协议头(eg: https://, http://)。 |
+| 任务名称   | 标识此监控的名称,名称需要保证唯一性。                                  |
+| 端口     | Linux系统的ssh端口,默认: 22                                 |
+| 超时时间   | 设置连接的超时时间,单位ms毫秒,默认6000毫秒。                           |
+| 复用连接   | 设置SSH连接是否复用,默认为:false。为false每次回去信息都会创建一个连接           |

Review Comment:
   Typo: '回去信息' should be '获取信息' in this sentence to read correctly.
   ```suggestion
   | 复用连接   | 设置SSH连接是否复用,默认为:false。为false每次获取信息都会创建一个连接           |
   ```



##########
home/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.8.0/help/ssl_cert.md:
##########
@@ -0,0 +1,33 @@
+---
+id: ssl_cert  
+title: 监控:SSL证书监控      
+sidebar_label: SSL证书监控    
+keywords: [开源监控系统, 开源网站监控, SSL证书监控监控]

Review Comment:
   Keyword list contains a duplicated word: 'SSL证书监控监控' should be 'SSL证书监控'.
   ```suggestion
   keywords: [开源监控系统, 开源网站监控, SSL证书监控]
   ```



##########
home/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.8.0/help/springboot3.md:
##########
@@ -0,0 +1,91 @@
+---
+id: springboot3
+title: 监控:SpringBoot3.0 监控      
+sidebar_label: SpringBoot3.0 监控
+keywords: [开源监控系统, 开源消息中间件监控, SpringBoot3.0 监控]
+---
+
+> 对SpringBoot3.0 actuator 暴露的通用性能指标进行采集监控。
+
+## 监控前操作
+
+如果想要通过此监控类型监控 `SpringBoot` 中的信息,则需要您的SpringBoot应用集成并开启SpringBoot Actuator。
+
+**1、添加POM.XML依赖:**
+
+```xml
+<dependency>
+    <groupId>org.springframework.boot</groupId>
+    <artifactId>spring-boot-starter-actuator</artifactId>
+</dependency>
+```
+
+**2、修改YML配置暴露指标接口:**
+
+```yaml
+management:
+  endpoints:
+    web:
+      exposure:
+        include: '*'
+    enabled-by-default: on
+```
+
+*注意:如果你的项目里还引入了认证相关的依赖,比如springboot-security,那么SpringBoot 
Actuator暴露出的接口可能会被拦截,此时需要你手动放开这些接口,以springboot-security为例,需要在SecurityConfig配置类中加入以下代码:*
+
+```java
+public class SecurityConfig extends WebSecurityConfigurerAdapter{
+    @Override
+    protected void configure(HttpSecurity httpSecurity) throws Exception{
+        httpSecurity
+                // 配置要放开的接口 -----------------------------------
+                .antMatchers("/actuator/**").permitAll()
+                .antMatchers("/metrics/**").permitAll()
+                .antMatchers("/trace").permitAll()
+                .antMatchers("/heapdump").permitAll()
+                // ...
+                // 
其他接口请参考:https://blog.csdn.net/JHIII/article/details/126601858 
-----------------------------------

Review Comment:
   This example uses `WebSecurityConfigurerAdapter` and `antMatchers`, which 
are deprecated in Spring Security 5.7 and removed in Spring Security 6 (Spring 
Boot 3). For Spring Boot 3 docs, update the sample to the modern 
`SecurityFilterChain` + `requestMatchers` style so readers can apply it without 
compilation errors.
   ```suggestion
   @Configuration
   @EnableWebSecurity
   public class SecurityConfig {
   
       @Bean
       public SecurityFilterChain securityFilterChain(HttpSecurity http) throws 
Exception {
           http
               .authorizeHttpRequests((auth) -> auth
                   // 配置要放开的接口 -----------------------------------
                   .requestMatchers("/actuator/**").permitAll()
                   .requestMatchers("/metrics/**").permitAll()
                   .requestMatchers("/trace").permitAll()
                   .requestMatchers("/heapdump").permitAll()
                   // ...
                   // 
其他接口请参考:https://blog.csdn.net/JHIII/article/details/126601858 
-----------------------------------
               );
           return http.build();
   ```



##########
home/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.8.0/community/submit-code.md:
##########
@@ -0,0 +1,72 @@
+---
+id: 'submit_code'
+title: '提交代码'
+sidebar_position: 2
+---
+
+<!--
+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
+
+https://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.
+-->
+* 首先从远程仓库 
[https://github.com/apache/hertzbeat.git](https://github.com/apache/hertzbeat.git)
 将代码的一份副本 fork 到您自己的仓库
+
+* 远程仓库开发合并分支:`master`
+
+* 将您fork仓库clone到您的本地设备
+
+  ```shell
+  git clone [email protected]:<您的账户名>/hertzbeat.git
+  ```
+
+* 添加远程仓库地址,命名为 upstream
+
+  ```shell
+  git remote add upstream [email protected]:apache/hertzbeat.git
+  ```
+
+* 查看仓库
+
+  ```shell
+  git remote -v
+  ```
+
+  > 此时会有两个仓库:origin(您自己的仓库)和 upstream(远程仓库)
+
+* 获取/更新远程仓库代码
+
+  ```shell
+  git fetch upstream
+  ```
+
+* 将远程仓库代码同步到本地仓库
+
+  ```shell
+  git checkout origin/master

Review Comment:
   `git checkout origin/master` checks out a remote-tracking branch in 
detached-HEAD state, which is usually not what contributors want. Use a local 
branch checkout (e.g. `git checkout master` after fetching, or `git switch 
master`) before merging `upstream/master`.
   ```suggestion
     git checkout master
   ```



##########
home/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.8.0/help/status.md:
##########
@@ -0,0 +1,73 @@
+---
+id: status  
+title: 状态页面  
+sidebar_label: 状态页面  
+keywords: [开源监控系统, 开源网站监控, 状态页面]
+---
+
+利用 HertzBeat 快速构建强大的状态页面,轻松向用户传达您产品服务的实时状态。例如,Github 的服务状态页 
[https://www.githubstatus.com](https://www.githubstatus.com)。

Review Comment:
   Correct the brand spelling from 'Github' to 'GitHub' to match the official 
capitalization.
   ```suggestion
   利用 HertzBeat 快速构建强大的状态页面,轻松向用户传达您产品服务的实时状态。例如,GitHub 的服务状态页 
[https://www.githubstatus.com](https://www.githubstatus.com)。
   ```



##########
home/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.8.0/help/springboot3.md:
##########
@@ -0,0 +1,91 @@
+---
+id: springboot3
+title: 监控:SpringBoot3.0 监控      
+sidebar_label: SpringBoot3.0 监控
+keywords: [开源监控系统, 开源消息中间件监控, SpringBoot3.0 监控]
+---
+
+> 对SpringBoot3.0 actuator 暴露的通用性能指标进行采集监控。
+
+## 监控前操作
+
+如果想要通过此监控类型监控 `SpringBoot` 中的信息,则需要您的SpringBoot应用集成并开启SpringBoot Actuator。
+
+**1、添加POM.XML依赖:**
+
+```xml
+<dependency>
+    <groupId>org.springframework.boot</groupId>
+    <artifactId>spring-boot-starter-actuator</artifactId>
+</dependency>
+```
+
+**2、修改YML配置暴露指标接口:**
+
+```yaml
+management:
+  endpoints:
+    web:
+      exposure:
+        include: '*'
+    enabled-by-default: on
+```
+
+*注意:如果你的项目里还引入了认证相关的依赖,比如springboot-security,那么SpringBoot 
Actuator暴露出的接口可能会被拦截,此时需要你手动放开这些接口,以springboot-security为例,需要在SecurityConfig配置类中加入以下代码:*
+
+```java
+public class SecurityConfig extends WebSecurityConfigurerAdapter{
+    @Override
+    protected void configure(HttpSecurity httpSecurity) throws Exception{
+        httpSecurity
+                // 配置要放开的接口 -----------------------------------
+                .antMatchers("/actuator/**").permitAll()
+                .antMatchers("/metrics/**").permitAll()
+                .antMatchers("/trace").permitAll()
+                .antMatchers("/heapdump").permitAll()
+                // ...
+                // 
其他接口请参考:https://blog.csdn.net/JHIII/article/details/126601858 
-----------------------------------

Review Comment:
   This example uses `WebSecurityConfigurerAdapter` and `antMatchers`, which 
are deprecated in Spring Security 5.7 and removed in Spring Security 6 (Spring 
Boot 3). For Spring Boot 3 docs, update the sample to the modern 
`SecurityFilterChain` + `requestMatchers` style so readers can apply it without 
compilation errors.
   ```suggestion
   *注意:如果你的项目里还引入了认证相关的依赖,比如springboot-security,那么SpringBoot 
Actuator暴露出的接口可能会被拦截,此时需要你手动放开这些接口,以springboot-security为例,需要在SecurityConfig配置类中加入以下代码(Spring
 Boot 3 / Spring Security 6 写法):*
   
   ```java
   import org.springframework.context.annotation.Bean;
   import org.springframework.context.annotation.Configuration;
   import 
org.springframework.security.config.annotation.web.builders.HttpSecurity;
   import 
org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
   import org.springframework.security.web.SecurityFilterChain;
   
   @Configuration
   @EnableWebSecurity
   public class SecurityConfig {
   
       @Bean
       public SecurityFilterChain securityFilterChain(HttpSecurity http) throws 
Exception {
           http
               // 配置要放开的接口 -----------------------------------
               .authorizeHttpRequests(auth -> auth
                   .requestMatchers("/actuator/**").permitAll()
                   .requestMatchers("/metrics/**").permitAll()
                   .requestMatchers("/trace").permitAll()
                   .requestMatchers("/heapdump").permitAll()
                   // ...
                   // 
其他接口请参考:https://blog.csdn.net/JHIII/article/details/126601858 
-----------------------------------
                   .anyRequest().authenticated()
               );
   
           return http.build();
   ```



##########
home/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.8.0/help/hive.md:
##########
@@ -0,0 +1,76 @@
+---
+id: hive
+Title: 监控 Apache Hive

Review Comment:
   Front matter key `Title` should be `title` for Docusaurus. Otherwise the 
page title might not show correctly.
   ```suggestion
   title: 监控 Apache Hive
   ```



##########
home/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.8.0/help/alert_threshold_expr.md:
##########
@@ -0,0 +1,67 @@
+---
+id: alert_threshold_expr  
+title: 阈值触发表达式  
+sidebar_label: 阈值触发表达式
+---
+
+> 在我们配置阈值告警时,需要配置阈值触发表达式,系统根据表达式和监控指标值计算触发是否告警,这里详细介绍下表达式使用。
+
+#### 表达式支持的操作符
+
+| 运算符(可视化配置) | 运算符(表达式配置)   | 支持类型                | 说明                     |  |
+| ------------------ | -------------------- | ----------------------- | 
------------------------ | - |
+| 等于               | equals(str1,str2)    | 字符型                  | 判断字符串是否相等   
    |  |
+| 不等于             | !equals(str1,str2)   | 字符型                  | 判断字符串是否不相等   
  |  |
+| 包含               | contains(str1,str2)  | 字符型                  | 判断字符串是否包含   
    |  |
+| 不包含             | !contains(str1,str2) | 字符型                  | 判断字符串是否不包含   
  |  |
+| 匹配               | matches(str1,str2)   | 字符型                  | 判断字符串正则是否匹配 
  |  |
+| 不匹配             | !matches(str1,str2)  | 字符型                  | 判断字符串正则是否不匹配 
|  |
+| 存在值             | exists(obj)          | 字符型、数值型、时间型  | 判断字符是否有值存在     |  |
+| 不存在值           | !exists(obj)         | 字符型 、数值型、时间型 | 判断字符是否有值存在     |  |

Review Comment:
   The description for `!exists(obj)` contradicts the operator meaning. It 
currently says '判断字符是否有值存在' but should indicate '不存在值/没有值'.
   ```suggestion
   | 不存在值           | !exists(obj)         | 字符型 、数值型、时间型 | 判断字符是否不存在值     |  |
   ```



##########
home/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.8.0/help/modbus.md:
##########
@@ -0,0 +1,80 @@
+---
+id: modbus
+title: Monitoring Modbus
+sidebar_label: Modbus Monitor
+keywords: [ open source monitoring tool,  Modbus监控 ]
+---
+
+> Modbus 服务的响应等相关指标进行监测。
+
+### 配置参数
+
+| 参数名称          | 参数帮助描述                                                    |
+|---------------|-----------------------------------------------------------|
+| Modbus服务的Host | 被监控的Modbus的IPV4,IPV6或域名。注意⚠️不带协议头(eg: https://, http://)。 |
+| 任务名称          | 标识此监控的名称,名称需要保证唯一性。                                       |
+| 端口            | Modbus网络的端口。                                              |
+| slaveId       | Modbus网络中从机设备ID。                                          |
+| 保持寄存器地址       | 用于对监控资源进行分类管理。                                            |
+| 线圈寄存器地址       | 更多标识和描述此监控的备注信息,用户可以在这里备注信息。                              |

Review Comment:
   These two parameter descriptions appear to be copy/pasted from unrelated 
fields (tags/remarks) and do not describe register addresses. Update the 
descriptions to explain the expected address format/content for 
holding-register and coil addresses.
   ```suggestion
   | 保持寄存器地址       | 要读取的保持寄存器地址列表,使用逗号分隔;支持在地址后使用`[n]`表示从该地址起连续的 n 个保持寄存器,例如 
`1,2[3]` 表示地址 1 以及从 2 开始的 3 个保持寄存器 (2、3、4)。 |
   | 线圈寄存器地址       | 要读取的线圈地址列表,使用逗号分隔;支持在地址后使用`[n]`表示从该地址起连续的 n 个线圈,例如 
`1,2[3]` 表示地址 1 以及从 2 开始的 3 个线圈 (2、3、4)。 |
   ```



##########
home/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.8.0/help/alert_webhook.md:
##########
@@ -0,0 +1,66 @@
+---
+id: alert_webhook
+title: 告警 Webhook 回调通知      
+sidebar_label: 告警 Webhook 回调通知    
+keywords: [告警 Webhook 回调通知, 开源告警系统, 开源监控告警系统]
+---
+
+> 阈值触发后发送告警信息,通过post请求方式调用WebHook接口通知到接收人。
+
+## 操作步骤
+
+1. **【告警通知】->【新增接收人】 ->【选择WebHook通知方式】-> 【设置WebHook回调地址】 -> 【确定】**
+
+    ![email](/img/docs/help/alert-notice-5.png)
+
+2. **配置关联的告警通知策略⚠️ 【新增通知策略】-> 【将刚设置的接收人关联】-> 【确定】**
+
+    > **注意⚠️ 新增了接收人并不代表已经生效可以接收告警信息,还需配置关联的告警通知策略,即指定哪些消息发给哪些接收人**。
+
+    ![email](/img/docs/help/alert-notice-4.png)
+
+### WebHook回调POST请求体BODY内容
+
+内容格式:JSON
+
+```json
+{
+  "alarmId": 76456,
+  "target": "`target`",
+  "thresholdId": 33455,
+  "priority": 0,
+  "content": "udp_port monitoring availability alert, code is FAIL",
+  "status": 0,
+  "times": 1,
+  "triggerTime": "2022-02-25T13:32:13",
+  "tags": {
+    "app": "windows",
+    "monitorId": "180427708350720",
+    "metrics": "availability",
+    "code": "UN_CONNECTABLE",
+    "thresholdId": "112",
+    "monitorName": "WINDOWS_192.168.124.12"
+  }
+}
+```
+
+|             |                                                                
                                                                                
                                                                        |
+|-------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| alarmId     | integer($int64) title: Alarm record entity primary key index 
ID 告警记录实体主键索引ID                                                                 
                                                                          |
+| target      | string title: Alert target object: monitor 
availability-available metrics-app.metrics.field 告警目标对象: 监控可用性-available 
指标-app.metrics.field                                                            
                   |
+| thresholdId | integer($int64) title: Alarm definition ID associated with the 
alarm 告警关联的告警定义ID                                                               
                                                                        |
+| priority    | string($byte) title: Alarm level 0: high-emergency-critical 
alarm-red 1: medium-critical-critical alarm-orange 2: low-warning-warning 
alarm-yellow 告警级别 0:高-emergency-紧急告警-红色 1:中-critical-严重告警-橙色 
2:低-warning-警告告警-黄色 |
+| content     | string title: The actual content of the alarm notification 
告警通知实际内容                                                                        
                                                                            |
+| status      | string($byte) title: Alarm status: 0-normal alarm (to be 
processed) 1-threshold triggered but not reached the number of alarms 
2-recovered alarm 3-processed 告警状态: 0-正常告警(待处理) 1-阈值触发但未达到告警次数 2-恢复告警 3-已处理     
        |
+| times       | integer($int32) title: Alarm threshold trigger times 告警阈值触发次数  
                                                                                
                                                                        |
+| triggerTime | integer($int64) title: Alarm trigger time (timestamp in 
milliseconds) 首次告警触发时间(毫秒时间戳)                                                   
                                                                               |

Review Comment:
   The `triggerTime` field is inconsistent: the JSON example shows an ISO-8601 
string, but the field table describes an int64 millisecond timestamp. Align 
them by either changing the example to a millisecond timestamp or updating the 
table description/type to match the actual payload.



##########
home/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.8.0/help/alert_webhook.md:
##########
@@ -0,0 +1,66 @@
+---
+id: alert_webhook
+title: 告警 Webhook 回调通知      
+sidebar_label: 告警 Webhook 回调通知    
+keywords: [告警 Webhook 回调通知, 开源告警系统, 开源监控告警系统]
+---
+
+> 阈值触发后发送告警信息,通过post请求方式调用WebHook接口通知到接收人。
+
+## 操作步骤
+
+1. **【告警通知】->【新增接收人】 ->【选择WebHook通知方式】-> 【设置WebHook回调地址】 -> 【确定】**
+
+    ![email](/img/docs/help/alert-notice-5.png)
+
+2. **配置关联的告警通知策略⚠️ 【新增通知策略】-> 【将刚设置的接收人关联】-> 【确定】**
+
+    > **注意⚠️ 新增了接收人并不代表已经生效可以接收告警信息,还需配置关联的告警通知策略,即指定哪些消息发给哪些接收人**。
+
+    ![email](/img/docs/help/alert-notice-4.png)
+
+### WebHook回调POST请求体BODY内容
+
+内容格式:JSON
+
+```json
+{
+  "alarmId": 76456,
+  "target": "`target`",
+  "thresholdId": 33455,
+  "priority": 0,
+  "content": "udp_port monitoring availability alert, code is FAIL",
+  "status": 0,
+  "times": 1,
+  "triggerTime": "2022-02-25T13:32:13",

Review Comment:
   The `triggerTime` field is inconsistent: the JSON example shows an ISO-8601 
string, but the field table describes an int64 millisecond timestamp. Align 
them by either changing the example to a millisecond timestamp or updating the 
table description/type to match the actual payload.
   ```suggestion
     "triggerTime": 1645795933000,
   ```



##########
home/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.8.0/help/jenkins.md:
##########
@@ -0,0 +1,78 @@
+---
+id: jenkins
+title: 监控:Jenkins
+sidebar_label: Jenkins
+keywords: [ 开源监控系统, CI/CD, DevOps, Jenkins监控 ]
+---
+
+> 通过调用 Jenkins Prometheus Plugin 对 Jenkins 的通用指标进行采集监控。
+
+### 前置条件
+
+1. 按照[部署文档](https://www.jenkins.io/doc/book/installing/)搭建好Jenkins相关服务。
+2. 需要安装[插件](https://www.jenkins.io/doc/book/managing/plugins/)
+   已用来访问暴露的指标信息,可参考[prometheus-plugin](https://plugins.jenkins.io/prometheus/)。
+3. 对外暴露指标的地址是```<jenkin_url>/prometheus```,查看是否能访问到metrics数据。
+
+## 配置参数
+
+| 参数名称   | 参数帮助描述                                               |
+|--------|------------------------------------------------------|
+| 目标Host | 被监控的对端IPV4,IPV6或域名。注意⚠️不带协议头(eg: https://, http://)。 |
+| 端口     | Jenkins Prot值,默认为8080。                               |

Review Comment:
   Typo: 'Prot' should be 'Port' in 'Jenkins Prot值' to avoid confusing readers.
   ```suggestion
   | 端口     | Jenkins Port值,默认为8080。                               |
   ```



##########
home/i18n/zh-cn/docusaurus-plugin-content-docs/version-1.8.0/help/grafana_dashboard.md:
##########
@@ -0,0 +1,78 @@
+---
+id: grafana_dashboard  
+title: Grafana Dashboard      
+sidebar_label: Grafana历史图表   
+keywords: [Grafana, 历史图表]
+---
+
+> 
`Grafana`是一个开源的可视化和分析平台,它可以帮助你轻松地创建、分享和监控仪表板。本文将介绍如何在`HertzBeat`中使用`Grafana`展示历史数据。
+
+### 前提条件
+
+- 我们推荐使用最新的`Grafana`版本,早期的版本可能不支持暴露 api。
+- `Grafana`服务已经启动,并配置好了账号密码。
+- `HertzBeat`服务已经启动,并配置好了`VictoriaMetrics`时序数据库(注意: `VictoriaMetrics`数据源是必须的)。
+
+:::caution 注意
+`Grafana`只能展示`Prometheus`类型监控的历史数据,目前并不支持`HertzBeat`中`yml`定义的监控数据。
+:::
+
+### 启用Grafana可嵌入功能, 并配置匿名访问及权限角色
+
+参考: 
[https://grafana.com/blog/2023/10/10/how-to-embed-grafana-dashboards-into-web-applications/](https://grafana.com/blog/2023/10/10/how-to-embed-grafana-dashboards-into-web-applications/),
+修改配置文件`grafana.ini`中的配置项参数,
+或者通过`docker`运行`Grafana`。
+
+修改配置文件`grafana.ini`中的以下配置项参数:
+
+```ini
+[auth.proxy]
+enabled = true
+
+[auth.anonymous]
+enabled = true
+org_role = Admin

Review Comment:
   Enabling anonymous access with `org_role = Admin` is a high-risk 
configuration that can grant full control to anyone who can reach Grafana. 
Update the doc to recommend a least-privilege role (typically `Viewer`) and add 
an explicit warning to only use anonymous access in trusted/internal 
environments with network restrictions.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to