This is an automated email from the ASF dual-hosted git repository.

gongchao 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 e0040e2ed [feature] add macOS monitoring support (#3715)
e0040e2ed is described below

commit e0040e2edec575de634d921ab724b05e5b55aa97
Author: DeleiGuo <[email protected]>
AuthorDate: Thu Aug 28 23:26:57 2025 +0800

    [feature] add macOS monitoring support (#3715)
    
    Co-authored-by: Calvin <[email protected]>
---
 .../src/main/resources/define/app-macos.yml        | 750 +++++++++++++++++++++
 home/docs/help/macos.md                            | 116 ++++
 .../current/help/macos.md                          | 116 ++++
 home/sidebars.json                                 |   3 +-
 4 files changed, 984 insertions(+), 1 deletion(-)

diff --git a/hertzbeat-manager/src/main/resources/define/app-macos.yml 
b/hertzbeat-manager/src/main/resources/define/app-macos.yml
new file mode 100644
index 000000000..be8098f08
--- /dev/null
+++ b/hertzbeat-manager/src/main/resources/define/app-macos.yml
@@ -0,0 +1,750 @@
+# 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 os-operating system monitoring
+category: os
+# The monitoring type eg: linux windows tomcat mysql aws...
+app: macos
+# The monitoring i18n name
+name:
+  zh-CN: macOS
+  en-US: macOS
+  ja-JP: macOS
+# The description and help of this monitoring type
+help:
+  zh-CN: Hertzbeat 使用 <a class='help_module_content' 
href='https://hertzbeat.apache.org/docs/advanced/extend-ssh'> SSH 协议</a> 对 
macOS 操作系统的通用性能指标 (系统信息、CPU、内存、磁盘、网卡、文件系统、TOP资源进程等) 进行采集监控。<br>您可以点击“<i>新建 
macOS</i>”并配置 HOST 端口账户等相关参数进行添加,支持 SSH 账户密码或密钥认证。或者选择“<i>更多操作</i>”,导入已有配置。
+  en-US: HertzBeat uses <a class='help_module_content' 
href='https://hertzbeat.apache.org/docs/advanced/extend-ssh'> SSH protocol</a> 
to monitors macOS operating system's general performance metrics such as cpu, 
memory, disk, basic, interface, disk_free, top_process etc. <br>You can click 
the "<i>New macOS</i>" and config host port and other related params to add, 
auth support password or secretKey. Or import an existing setup through the 
"<i>More Actions</i>" menu.
+  zh-TW: Hertzbeat 使用 <a class='help_module_content' 
href='https://hertzbeat.apache.org/docs/advanced/extend-ssh'> SSH 协议</a> 對 
macOS 操作系统的通用性能指標 (系統信息、CPU、內存、磁盤、網卡、文件系統、TOP資源進程等) 進行採集監控。<br>您可以點擊“<i>新建 
macOS</i>”並配置HOST端口賬戶等相關參數進行添加,支持SSH賬戶密碼或密鑰認證。或者選擇“<i>更多操作</i>”,導入已有配寘。
+  ja-JP: Hertzbeat は <a class='help_module_content' 
href='https://hertzbeat.apache.org/docs/advanced/extend-ssh'> SSHプロトコルを介して</a> 
macOS システムの一般的なパフォーマンスのメトリクスを監視します。<br>「<i>新規 
macOS</i>」をクリックしてホストなどのパラメタを設定した後、新規することができます。SSHまたはキー認証をサポートします。
+helpLink:
+  zh-CN: https://hertzbeat.apache.org/zh-cn/docs/help/macos/
+  en-US: https://hertzbeat.apache.org/docs/help/macos/
+# 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 or false
+    required: true
+    # default value
+    defaultValue: 22
+  # field-param field key
+  - field: timeout
+    # name-param field display i18n name
+    name:
+      zh-CN: 超时时间(ms)
+      en-US: Timeout(ms)
+      ja-JP: タイムアウト(ms)
+    # type-param field type(most mapping the html input type)
+    type: number
+    # when type is number, range is required
+    range: '[400,200000]'
+    # required-true or false
+    required: false
+    # default value
+    defaultValue: 6000
+  # field-param field key
+  - field: reuseConnection
+    # name-param field display i18n name
+    name:
+      zh-CN: 复用连接
+      en-US: Reuse Connection
+      ja-JP: 接続再利用
+    # type-param field type(most mapping the html input type)
+    type: boolean
+    # required-true or false
+    required: true
+    defaultValue: true
+  # field-param field key
+  - field: useProxy
+    # name-param field display i18n name
+    name:
+      zh-CN: 使用代理
+      en-US: Use Proxy Connection
+      ja-JP: プロキシ接続利用
+    # type-param field type(most mapping the html input type)
+    type: boolean
+    # required-true or false
+    required: true
+    defaultValue: false
+  # field-param field key
+  - field: username
+    # name-param field display i18n name
+    name:
+      zh-CN: 用户名
+      en-US: Username
+      ja-JP: ユーザー名
+    # type-param field type(most mapping the html input type)
+    type: text
+    # when type is text, use limit to limit string length
+    limit: 50
+    # required-true or false
+    required: true
+  # field-param field key
+  - field: password
+    # name-param field display i18n name
+    name:
+      zh-CN: 密码
+      en-US: Password
+      ja-JP: パスワード
+    # type-param field type(most mapping the html input tag)
+    type: password
+    # required-true or false
+    required: false
+  # field-param field key
+  - field: privateKey
+    # name-param field display i18n name
+    name:
+      zh-CN: 私钥
+      en-US: PrivateKey
+      ja-JP: 秘密鍵
+    # type-param field type(most mapping the html input type)
+    type: textarea
+    placeholder: -----BEGIN RSA PRIVATE KEY-----
+    # required-true or false
+    required: false
+    # hide param-true or false
+    hide: true
+  # field-param field key
+  - field: privateKeyPassphrase
+    # name-param field display i18n name
+    name:
+      zh-CN: 密钥短语
+      en-US: PrivateKey PassPhrase
+      ja-JP: 秘密鍵フレーズ
+    # type-param field type(most mapping the html input type)
+    type: password
+    # required-true or false
+    required: false
+    # hide param-true or false
+    hide: true
+  # field-param field key
+  - field: proxyHost
+    # name-param field display i18n name
+    name:
+      zh-CN: 代理主机
+      en-US: Proxy Host
+      ja-JP: プロキシホスト
+    # type-param field type(most mapping the html input type)
+    type: text
+    # required-true or false
+    required: false
+    # hide param-true or false
+    hide: true
+  - field: proxyPort
+    # name-param field display i18n name
+    name:
+      zh-CN: 代理端口
+      en-US: Proxy 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 or false
+    required: false
+    # hide param-true or false
+    hide: true
+    # default value
+    defaultValue: 22
+  # field-param field key
+  - field: proxyUsername
+    # name-param field display i18n name
+    name:
+      zh-CN: 代理用户名
+      en-US: Proxy Username
+      ja-JP: プロキシユーザー名
+    # type-param field type(most mapping the html input type)
+    type: text
+    # when type is text, use limit to limit string length
+    limit: 50
+    # required-true or false
+    required: false
+    # hide param-true or false
+    hide: true
+  # field-param field key
+  - field: proxyPassword
+    # name-param field display i18n name
+    name:
+      zh-CN: 代理密码
+      en-US: Proxy Password
+      ja-JP: プロキシパスワード
+    # type-param field type(most mapping the html input tag)
+    type: password
+    # required-true or false
+    required: false
+    # hide param-true or false
+    hide: true
+  # field-param field key
+  - field: proxyPrivateKey
+    # name-param field display i18n name
+    name:
+      zh-CN: 代理主机私钥
+      en-US: proxyPrivateKey
+      ja-JP: プロキシ秘密鍵
+    # type-param field type(most mapping the html input type)
+    type: textarea
+    placeholder: -----BEGIN RSA PRIVATE KEY-----
+    # required-true or false
+    required: false
+    # hide param-true or false
+    hide: true
+# collect metrics config list
+metrics:
+  # metrics - basic, inner monitoring metrics (responseTime - response time)
+  - name: basic
+    i18n:
+      zh-CN: 系统基本信息
+      en-US: Basic Info
+      ja-JP: システム基礎情報
+    # 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: hostname
+        type: 1
+        label: true
+        i18n:
+          zh-CN: 主机名称
+          en-US: Host Name
+          ja-JP: ホスト名
+      - field: version
+        type: 1
+        i18n:
+          zh-CN: 操作系统版本
+          en-US: System Version
+          ja-JP: オーエスバージョン
+      - field: uptime
+        type: 1
+        i18n:
+          zh-CN: 启动时间
+          en-US: Uptime
+          ja-JP: アップタイム
+    # the protocol used for monitoring, eg: sql, ssh, http, telnet, wmi, snmp, 
sdk
+    protocol: ssh
+    # the config content when protocol is ssh
+    ssh:
+      # ssh host: ipv4 ipv6 domain
+      host: ^_^host^_^
+      # ssh port
+      port: ^_^port^_^
+      # ssh username
+      username: ^_^username^_^
+      # ssh password
+      password: ^_^password^_^
+      # ssh private key
+      privateKey: ^_^privateKey^_^
+      # ssh private key passphrase
+      privateKeyPassphrase: ^_^privateKeyPassphrase^_^
+      timeout: ^_^timeout^_^
+      reuseConnection: ^_^reuseConnection^_^
+      # whether to use proxy server for ssh connection
+      useProxy: ^_^useProxy^_^
+      # ssh proxy host: ipv4 domain
+      proxyHost: ^_^proxyHost^_^
+      # ssh proxy port
+      proxyPort: ^_^proxyPort^_^
+      # ssh proxy username
+      proxyUsername: ^_^proxyUsername^_^
+      # ssh proxy password
+      proxyPassword: ^_^proxyPassword^_^
+      # ssh proxy private key
+      proxyPrivateKey: ^_^proxyPrivateKey^_^
+      # ssh run collect script
+      script: scutil --get ComputerName; echo "$(sw_vers -productName) 
$(sw_vers -productVersion) ($(sw_vers -buildVersion))"; uptime| awk '{print 
$1,$2,$3,$4}' | sed 's/,//'
+      # ssh response data parse type: oneRow, multiRow
+      parseType: oneRow
+
+  - name: cpu
+    i18n:
+      zh-CN: CPU 信息
+      en-US: CPU Info
+      ja-JP: CPU情報
+    priority: 1
+    fields:
+      - field: info
+        type: 1
+        i18n:
+          zh-CN: 型号
+          en-US: Info
+          ja-JP: バージョン
+      - field: cores
+        type: 1
+        i18n:
+          zh-CN: 核数
+          en-US: Cores
+          ja-JP: コア数
+      - field: load
+        type: 1
+        i18n:
+          zh-CN: 负载
+          en-US: Load
+          ja-JP: ロード
+      - field: usage
+        type: 0
+        unit: '%'
+        i18n:
+          zh-CN: 使用率
+          en-US: Usage
+          ja-JP: 使用率
+    # (optional)metrics field alias name, it is used as an alias field to map 
and convert the collected data and metrics field
+    aliasFields:
+      - info
+      - cores
+      - load
+      - idle
+    # mapping and conversion expressions, use these and aliasField above to 
calculate metrics value
+    # eg: cores=core1+core2, usage=usage, waitTime=allTime-runningTime
+    calculates:
+      - info=info
+      - cores=cores
+      - load=load
+      - usage=idle
+    protocol: ssh
+    ssh:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      username: ^_^username^_^
+      password: ^_^password^_^
+      privateKey: ^_^privateKey^_^
+      privateKeyPassphrase: ^_^privateKeyPassphrase^_^
+      timeout: ^_^timeout^_^
+      reuseConnection: ^_^reuseConnection^_^
+      # whether to use proxy server for ssh connection
+      useProxy: ^_^useProxy^_^
+      # ssh proxy host: ipv4 domain
+      proxyHost: ^_^proxyHost^_^
+      # ssh proxy port
+      proxyPort: ^_^proxyPort^_^
+      # ssh proxy username
+      proxyUsername: ^_^proxyUsername^_^
+      # ssh proxy password
+      proxyPassword: ^_^proxyPassword^_^
+      # ssh proxy private key
+      proxyPrivateKey: ^_^proxyPrivateKey^_^
+      script: sysctl -n machdep.cpu.brand_string; sysctl -n hw.ncpu; sysctl -n 
vm.loadavg | awk '{print $2,$3,$4}'; top -l 1 | grep 'CPU usage' | awk '{print 
$3}' | sed 's/%//'
+      parseType: oneRow
+
+  - name: memory
+    i18n:
+      zh-CN: 内存信息
+      en-US: Memory Info
+      ja-JP: メモリ情報
+    priority: 2
+    fields:
+      - field: total
+        type: 1
+        unit: Mb
+        i18n:
+          zh-CN: 总内存容量
+          en-US: Total Memory
+          ja-JP: メモリ容量
+      - field: used
+        type: 0
+        unit: Mb
+        i18n:
+          zh-CN: 用户程序内存量
+          en-US: User Program Memory
+          ja-JP: ユーザープログラムメモリ
+      - field: free
+        type: 0
+        unit: Mb
+        i18n:
+          zh-CN: 空闲内存容量
+          en-US: Free Memory
+          ja-JP: 空きメモリ
+      - field: buff_cache
+        type: 0
+        unit: Mb
+        i18n:
+          zh-CN: 缓存占用内存
+          en-US: Buff Cache Memory
+          ja-JP: バッファメモリ
+      - field: available
+        type: 0
+        unit: Mb
+        i18n:
+          zh-CN: 剩余可用内存
+          en-US: Available Memory
+          ja-JP: 使用可能のメモリ
+      - field: usage
+        type: 0
+        unit: '%'
+        i18n:
+          zh-CN: 内存使用率
+          en-US: Memory Usage
+          ja-JP: メモリ使用率
+    aliasFields:
+      - total
+      - used
+      - free
+      - buff_cache
+      - available
+    calculates:
+      - total=total
+      - used=used
+      - free=free
+      - buff_cache=buff_cache
+      - available=available
+      - usage=(used / total) * 100
+    protocol: ssh
+    ssh:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      username: ^_^username^_^
+      password: ^_^password^_^
+      privateKey: ^_^privateKey^_^
+      privateKeyPassphrase: ^_^privateKeyPassphrase^_^
+      timeout: ^_^timeout^_^
+      reuseConnection: ^_^reuseConnection^_^
+      # whether to use proxy server for ssh connection
+      useProxy: ^_^useProxy^_^
+      # ssh proxy host: ipv4 domain
+      proxyHost: ^_^proxyHost^_^
+      # ssh proxy port
+      proxyPort: ^_^proxyPort^_^
+      # ssh proxy username
+      proxyUsername: ^_^proxyUsername^_^
+      # ssh proxy password
+      proxyPassword: ^_^proxyPassword^_^
+      # ssh proxy private key
+      proxyPrivateKey: ^_^proxyPrivateKey^_^
+      script: echo "total used free buff_cache available"; vm_stat | awk 
'BEGIN{cmd="sysctl -n hw.memsize";cmd|getline total;close(cmd);cmd="sysctl -n 
hw.pagesize";cmd|getline ps;close(cmd);total=total/1024/1024} /Pages 
free/{free=$3} /Pages active/{active=$3} /Pages inactive/{inactive=$3} /Pages 
wired/{wired=$4} /Pages occupied by compressor/{comp=$5} 
END{free_mb=free*ps/1024/1024;used_mb=(active+inactive+wired+comp)*ps/1024/1024;inactive_mb=inactive*ps/1024/1024;avail_mb=(free+inactive
 [...]
+      parseType: multiRow
+
+  - name: disk
+    i18n:
+      zh-CN: 磁盘信息
+      en-US: Disk Info
+      ja-JP: ディスク情報
+    priority: 3
+    fields:
+      - field: disk_num
+        type: 1
+        i18n:
+          zh-CN: 磁盘总数
+          en-US: Disk Num
+          ja-JP: ディスク番号
+      - field: partition_num
+        type: 1
+        i18n:
+          zh-CN: 分区总数
+          en-US: Partition Num
+          ja-JP: パーティション
+      - field: block_write
+        type: 0
+        i18n:
+          zh-CN: 写磁盘块数
+          en-US: Block Write
+          ja-JP: 書き込みディスクブロック数
+      - field: block_read
+        type: 0
+        i18n:
+          zh-CN: 读磁盘块数
+          en-US: Block Read
+          ja-JP: 読み取りブロック数
+      - field: write_rate
+        type: 0
+        unit: iops
+        i18n:
+          zh-CN: 磁盘写速率
+          en-US: Write Rate
+          ja-JP: ディスク書き込み速度
+    protocol: ssh
+    ssh:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      username: ^_^username^_^
+      password: ^_^password^_^
+      privateKey: ^_^privateKey^_^
+      privateKeyPassphrase: ^_^privateKeyPassphrase^_^
+      timeout: ^_^timeout^_^
+      reuseConnection: ^_^reuseConnection^_^
+      # whether to use proxy server for ssh connection
+      useProxy: ^_^useProxy^_^
+      # ssh proxy host: ipv4 domain
+      proxyHost: ^_^proxyHost^_^
+      # ssh proxy port
+      proxyPort: ^_^proxyPort^_^
+      # ssh proxy username
+      proxyUsername: ^_^proxyUsername^_^
+      # ssh proxy password
+      proxyPassword: ^_^proxyPassword^_^
+      # ssh proxy private key
+      proxyPrivateKey: ^_^proxyPrivateKey^_^
+      script: iostat -d | awk 'NR==3{print $1}'; iostat -d | awk 'NR==3{print 
$2}'; vm_stat | awk '/Pages free/{print $3}' | tr -d ':'; vm_stat | awk '/Pages 
active/{print $3}' | tr -d ':'; sysctl -n hw.memsize | awk '{print 
int($1/1024/1024)}'
+      parseType: oneRow
+
+  - name: interface
+    i18n:
+      zh-CN: 网卡信息
+      en-US: Interface Info
+      ja-JP: ネットワークカード情報
+    priority: 4
+    fields:
+      - field: interface_name
+        type: 1
+        label: true
+        i18n:
+          zh-CN: 网卡名称
+          en-US: Interface Name
+          ja-JP: ネットワークカード名
+      - field: receive_bytes
+        type: 0
+        unit: Mb
+        i18n:
+          zh-CN: 入站数据流量
+          en-US: Receive Bytes
+          ja-JP: 受信されたバイト数
+      - field: transmit_bytes
+        type: 0
+        unit: Mb
+        i18n:
+          zh-CN: 出站数据流量
+          en-US: Transmit Bytes
+          ja-JP: 転送されたバイト数
+    units:
+      - receive_bytes=B->MB
+      - transmit_bytes=B->MB
+    protocol: ssh
+    ssh:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      username: ^_^username^_^
+      password: ^_^password^_^
+      privateKey: ^_^privateKey^_^
+      privateKeyPassphrase: ^_^privateKeyPassphrase^_^
+      timeout: ^_^timeout^_^
+      reuseConnection: ^_^reuseConnection^_^
+      # whether to use proxy server for ssh connection
+      useProxy: ^_^useProxy^_^
+      # ssh proxy host: ipv4 domain
+      proxyHost: ^_^proxyHost^_^
+      # ssh proxy port
+      proxyPort: ^_^proxyPort^_^
+      # ssh proxy username
+      proxyUsername: ^_^proxyUsername^_^
+      # ssh proxy password
+      proxyPassword: ^_^proxyPassword^_^
+      # ssh proxy private key
+      proxyPrivateKey: ^_^proxyPrivateKey^_^
+      script: netstat -ibn | awk 'NR==1{print "interface_name receive_bytes 
transmit_bytes"} NR>1 && $1!~/Name/ && $7~/^[0-9]+$/{print $1,$7,$10}'
+      parseType: multiRow
+
+  - name: disk_free
+    i18n:
+      zh-CN: 文件系统
+      en-US: Disk Free
+      ja-JP: ファイルシステム
+    priority: 5
+    fields:
+      - field: filesystem
+        type: 1
+        i18n:
+          zh-CN: 文件系统
+          en-US: Filesystem
+          ja-JP: ファイルシステム
+      - field: used
+        type: 0
+        unit: Mb
+        i18n:
+          zh-CN: 已使用量
+          en-US: Used
+          ja-JP: 使用済み
+      - field: available
+        type: 0
+        unit: Mb
+        i18n:
+          zh-CN: 可用量
+          en-US: Available
+          ja-JP: 使用可能
+      - field: usage
+        type: 0
+        unit: '%'
+        i18n:
+          zh-CN: 使用率
+          en-US: Usage
+          ja-JP: 使用率
+      - field: mounted
+        type: 1
+        label: true
+        i18n:
+          zh-CN: 挂载点
+          en-US: Mounted
+          ja-JP: マウント
+    protocol: ssh
+    ssh:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      username: ^_^username^_^
+      password: ^_^password^_^
+      privateKey: ^_^privateKey^_^
+      privateKeyPassphrase: ^_^privateKeyPassphrase^_^
+      timeout: ^_^timeout^_^
+      reuseConnection: ^_^reuseConnection^_^
+      # whether to use proxy server for ssh connection
+      useProxy: ^_^useProxy^_^
+      # ssh proxy host: ipv4 domain
+      proxyHost: ^_^proxyHost^_^
+      # ssh proxy port
+      proxyPort: ^_^proxyPort^_^
+      # ssh proxy username
+      proxyUsername: ^_^proxyUsername^_^
+      # ssh proxy password
+      proxyPassword: ^_^proxyPassword^_^
+      # ssh proxy private key
+      proxyPrivateKey: ^_^proxyPrivateKey^_^
+      script: df -m | tail -n +2 | awk 'BEGIN{ print "filesystem used 
available usage mounted"} {print $1,$3,$4,$5,$9}'
+      parseType: multiRow
+
+  - name: top_cpu_process
+    i18n:
+      zh-CN: Top10 CPU 进程
+      en-US: Top10 CPU Process
+      ja-JP: トップ10 CPUプロセス
+    priority: 6
+    fields:
+      - field: pid
+        type: 1
+        label: true
+        i18n:
+          zh-CN: 进程ID
+          en-US: PID
+          ja-JP: プロセスID
+      - field: cpu_usage
+        type: 0
+        unit: '%'
+        i18n:
+          zh-CN: CPU占用率
+          en-US: CPU Usage
+          ja-JP: CPU使用率
+      - field: mem_usage
+        type: 0
+        unit: '%'
+        i18n:
+          zh-CN: 内存占用率
+          en-US: Memory Usage
+          ja-JP: メモリ使用率
+      - field: command
+        type: 1
+        i18n:
+          zh-CN: 执行命令
+          en-US: Command
+          ja-JP: コマンド
+    protocol: ssh
+    ssh:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      username: ^_^username^_^
+      password: ^_^password^_^
+      privateKey: ^_^privateKey^_^
+      privateKeyPassphrase: ^_^privateKeyPassphrase^_^
+      timeout: ^_^timeout^_^
+      reuseConnection: ^_^reuseConnection^_^
+      # whether to use proxy server for ssh connection
+      useProxy: ^_^useProxy^_^
+      # ssh proxy host: ipv4 domain
+      proxyHost: ^_^proxyHost^_^
+      # ssh proxy port
+      proxyPort: ^_^proxyPort^_^
+      # ssh proxy username
+      proxyUsername: ^_^proxyUsername^_^
+      # ssh proxy password
+      proxyPassword: ^_^proxyPassword^_^
+      # ssh proxy private key
+      proxyPrivateKey: ^_^proxyPrivateKey^_^
+      script: ps aux | sort -k3nr | awk 'BEGIN{ print "pid cpu_usage mem_usage 
command" } {printf "%s %s %s ", $2, $3, $4; for (i=11; i<=NF; i++) { printf 
"%s", $i; if (i < NF) printf " "; } print ""}' | head -n 11
+      parseType: multiRow
+
+  - name: top_mem_process
+    i18n:
+      zh-CN: Top10 内存进程
+      en-US: Top10 Memory Process
+      ja-JP: トップ10 メモリプロセス
+    priority: 7
+    fields:
+      - field: pid
+        type: 1
+        label: true
+        i18n:
+          zh-CN: 进程ID
+          en-US: PID
+          ja-JP: プロセスID
+      - field: mem_usage
+        type: 0
+        unit: '%'
+        i18n:
+          zh-CN: 内存占用率
+          en-US: Memory Usage
+          ja-JP: メモリ使用率
+      - field: cpu_usage
+        type: 0
+        unit: '%'
+        i18n:
+          zh-CN: CPU占用率
+          en-US: CPU Usage
+          ja-JP: CPU使用率
+      - field: command
+        type: 1
+        i18n:
+          zh-CN: 执行命令
+          en-US: Command
+          ja-JP: コマンド
+    protocol: ssh
+    ssh:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      username: ^_^username^_^
+      password: ^_^password^_^
+      privateKey: ^_^privateKey^_^
+      privateKeyPassphrase: ^_^privateKeyPassphrase^_^
+      timeout: ^_^timeout^_^
+      reuseConnection: ^_^reuseConnection^_^
+      # whether to use proxy server for ssh connection
+      useProxy: ^_^useProxy^_^
+      # ssh proxy host: ipv4 domain
+      proxyHost: ^_^proxyHost^_^
+      # ssh proxy port
+      proxyPort: ^_^proxyPort^_^
+      # ssh proxy username
+      proxyUsername: ^_^proxyUsername^_^
+      # ssh proxy password
+      proxyPassword: ^_^proxyPassword^_^
+      # ssh proxy private key
+
+      proxyPrivateKey: ^_^proxyPrivateKey^_^
+      script: ps aux | sort -k4nr | awk 'BEGIN{ print "pid cpu_usage mem_usage 
command" } NR>1{cmd=""; for(i=11;i<=NF;i++) cmd=cmd $i (i==NF?"":" "); printf 
"%s %s %s %s\n", $2, $3, $4, cmd}' | head -n 11
+      parseType: multiRow
diff --git a/home/docs/help/macos.md b/home/docs/help/macos.md
new file mode 100644
index 000000000..62d4bdae8
--- /dev/null
+++ b/home/docs/help/macos.md
@@ -0,0 +1,116 @@
+---
+id: macos  
+title: macOS operating system monitoring      
+sidebar_label: macOS operating system       
+keywords: [open source monitoring tool, open source os monitoring tool, 
monitoring macOS operating system metrics]
+---
+
+> Collect and monitor the general performance Metrics of macOS operating 
system.
+
+## Pre-monitoring operations
+
+Please refer to [Allow a remote computer to access your 
Mac](https://support.apple.com/guide/mac-help/allow-a-remote-computer-to-access-your-mac-mchlp1066/mac)
 to enable remote login.
+
+## Configuration parameter
+
+| Parameter Name        | Parameter Help Description                           
                                                                                
                                                 |
+|-----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Monitored Host        | The IPV4, IPV6, or domain name of the host being 
monitored. Note ⚠️ No protocol header (e.g., https://, http://).                
                                                     |
+| Task Name             | The name that identifies this monitoring, which must 
be unique.                                                                      
                                                 |
+| Port                  | The port provided by SSH, default is 22.             
                                                                                
                                                 |
+| Timeout               | Sets the connection timeout in milliseconds, default 
is 6000 ms.                                                                     
                                                 |
+| Connection Reuse      | Sets whether SSH connections are reused, default is 
:false. If false, a new connection is created each time information is 
retrieved.                                                 |
+| Use Proxy Connection  | Sets Whether connect via proxy, default is false.    
                                                                                
                                                 |
+| Username              | SSH connection username, optional.                   
                                                                                
                                                 |
+| Password              | SSH connection password, optional.                   
                                                                                
                                                 |
+| Collector             | Configures which collector is used to schedule data 
collection for this monitoring.                                                 
                                                  |
+| Monitoring Period     | The interval time for periodic data collection in 
seconds, with a minimum interval of 30 seconds.                                 
                                                    |
+| Binding Tags          | Used for categorized management of monitoring 
resources.                                                                      
                                                        |
+| Description           | Additional notes and descriptions for this 
monitoring, where users can make notes.                                         
                                                           |
+| PrivateKey            | The private key required to connect to the server.   
                                                                                
                                                 |
+| PrivateKey PassPhrase | The password phrase used to encrypt the SSH private 
key. If the private key was generated with a passphrase, this field must be 
filled to decrypt and use the key for authentication. |
+| Proxy Host            | The address of the proxy server, supporting IPV4, 
IPV6, or domain name format. Required when using SSH jump host to access the 
target host.                                           |
+| Proxy Port            | The port number of the proxy service, default is 22. 
                                                                                
                                                 |
+| Proxy Username        | The authentication username required to connect to 
the proxy server.                                                               
                                                   |
+| Proxy Username        | The authentication password required to connect to 
the proxy server.                                                               
                                                   |
+| Proxy PrivateKey      | The private key required to authenticate with the 
proxy server.                                                                   
                                                    |
+
+## Data Collection Metrics
+
+### Metric Set: Basic System Information
+
+| Metric Name | Metric Unit | Metric Help Description |
+|-------------|-------------|-------------------------|
+| hostname    | None        | Host name               |
+| version     | None        | System version          |
+| uptime      | None        | System Uptime           |
+
+### Metric Set: CPU Information
+
+| Metric Name    | Metric Unit | Metric Help Description           |
+|----------------|-------------|-----------------------------------|
+| info           | None        | CPU model                         |
+| cores          | None        | Number of CPU cores               |
+| load           | None        | Average CPU load (1/5/15 minutes) |
+| usage          | %           | CPU usage                         |
+
+### Metric Set: Memory Information
+
+| Metric Name | Metric Unit |       Metric Help Description       |
+|-------------|-------------|-------------------------------------|
+| total       | Mb          | Total memory capacity               |
+| used        | Mb          | Memory used by user programs        |
+| free        | Mb          | Free memory capacity                |
+| buff_cache  | Mb          | Memory used for cache               |
+| available   | Mb          | Remaining available memory capacity |
+| usage       | %           | Memory usage rate                   |
+
+### Metric Set: Disk Information
+
+| Metric Name   | Metric Unit | Metric Help Description                |
+|---------------|-------------|----------------------------------------|
+| disk_num      | None        | Total number of disks                  |
+| partition_num | None        | Total number of partitions             |
+| block_write   | None        | Total number of blocks written to disk |
+| block_read    | None        | Total number of blocks read from disk  |
+| write_rate    | iops        | Disk block write rate per second       |
+
+### Metric Set: Network Card Information
+
+|  Metric Name   | Metric Unit |    Metric Help Description    |
+|----------------|-------------|-------------------------------|
+| interface_name | None        | Network card name             |
+| receive_bytes  | Byte        | Inbound data traffic (bytes)  |
+| transmit_bytes | Byte        | Outbound data traffic (bytes) |
+
+### Metric Set: File System
+
+| Metric Name | Metric Unit | Metric Help Description |
+|-------------|-------------|-------------------------|
+| filesystem  | None        | Name of the file system |
+| used        | Mb          | Used disk size          |
+| available   | Mb          | Available disk size     |
+| usage       | %           | Usage rate              |
+| mounted     | None        | Mount point directory   |
+
+### Metric Set: Top 10 CPU Processes
+
+Statistics for the top 10 processes using the CPU. Statistics include: process 
ID, CPU usage, memory usage, and executed command.
+
+| Metric Name | Metric Unit | Metric Help Description |
+|-------------|-------------|-------------------------|
+| pid         | None        | Process ID              |
+| cpu_usage   | %           | CPU usage               |
+| mem_usage   | %           | Memory usage            |
+| command     | None        | Executed command        |
+
+### Metric Set: Top 10 Memory Processes
+
+Statistics for the top 10 processes using memory. Statistics include: process 
ID, memory usage, CPU usage, and executed command.
+
+| Metric Name | Metric Unit | Metric Help Description |
+|-------------|-------------|-------------------------|
+| pid         | None        | Process ID              |
+| mem_usage   | %           | Memory usage            |
+| cpu_usage   | %           | CPU usage               |
+| command     | None        | Executed command        |
diff --git 
a/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/macos.md 
b/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/macos.md
new file mode 100644
index 000000000..d4a0f2455
--- /dev/null
+++ b/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/macos.md
@@ -0,0 +1,116 @@
+---
+id: macos  
+title: 监控:macOS 操作系统监控      
+sidebar_label: macOS 操作系统      
+keywords: [开源监控系统, 开源操作系统监控, macOS 操作系统监控]
+---
+
+> 对 macOS 操作系统的通用性能指标进行采集监控。
+
+## 监控前操作
+
+请参考 [允许远程电脑访问你的 
Mac](https://support.apple.com/guide/mac-help/allow-a-remote-computer-to-access-your-mac-mchlp1066/mac)
 开启远程登录
+
+## 配置参数
+
+| 参数名称   | 参数帮助描述                                                              
|
+|--------|---------------------------------------------------------------------|
+| 监控Host | 被监控的对端IPV4,IPV6或域名。注意⚠️不带协议头(eg: https://, http://)。                
|
+| 任务名称   | 标识此监控的名称,名称需要保证唯一性。                                                 
|
+| 端口     | SSH对外提供的端口,默认为22。                                                   
|
+| 超时时间   | 设置连接的超时时间,单位ms毫秒,默认6000毫秒。                                          
|
+| 复用连接   | 设置SSH连接是否复用,默认为:false。为false每次获取信息都会创建一个连接                          
|
+| 使用代理   | 设置是否通过代理连接,默认为false。                                                
|
+| 用户名    | SSH连接用户名,可选                                                         
|
+| 密码     | SSH连接密码,可选                                                          
|
+| 采集器    | 配置此监控使用哪台采集器调度采集                                                    
|
+| 监控周期   | 监控周期性采集数据间隔时间,单位秒,可设置的最小间隔为30秒                                      
|
+| 绑定标签   | 用于对监控资源进行分类管理                                                       
|
+| 描述备注   | 更多标识和描述此监控的备注信息,用户可以在这里备注信息                                         
|
+| 私钥     | 连接服务器所需的私钥                                                          
|
+| 密钥短语   | 用于加密 SSH 私钥的密码短语(Passphrase)。如果私钥在生成时设置了密码短语,则必须填写此字段才能解密并使用私钥进行认证。 
|
+| 代理主机   | 代理服务器的地址,支持 IPV4、IPV6或域名。若使用 SSH 代理跳转访问目标主机,需填写代理服务器的地址。            
|
+| 代理端口   | 代理服务器的端口号,默认为22。                                                    
|
+| 代理用户名  | 连接代理服务器时所需的认证用户名。                                                   
|
+| 代理密码   | 连接代理服务器时所需的认证密码。                                                    
|
+| 代理主机私钥 | 连接代理服务器时所需的私钥。                                                      
|
+
+## 采集指标
+
+### 指标集合:系统基本信息
+
+| 指标名称     | 指标单位 | 指标帮助描述 |
+|----------|------|--------|
+| hostname | 无    | 主机名称   |
+| version  | 无    | 操作系统版本 |
+| uptime   | 无    | 启动时间   |
+
+### 指标集合:CPU 信息
+
+| 指标名称           | 指标单位 | 指标帮助描述             |
+|----------------|------|--------------------|
+| info           | 无    | CPU型号              |
+| cores          | 无    | CPU内核数量            |
+| load           | 无    | CPU最近1/5/15分钟的平均负载 |
+| usage          | %    | CPU使用率             |
+
+### 指标集合:内存信息
+
+|    指标名称    | 指标单位 |  指标帮助描述  |
+|------------|------|----------|
+| total      | Mb   | 总内存容量    |
+| used       | Mb   | 用户程序内存量  |
+| free       | Mb   | 空闲内存容量   |
+| buff_cache | Mb   | 缓存占用内存   |
+| available  | Mb   | 剩余可用内存容量 |
+| usage      | %    | 内存使用率    |
+
+### 指标集合:磁盘信息
+
+|     指标名称      | 指标单位 |  指标帮助描述   |
+|---------------|------|-----------|
+| disk_num      | 无    | 磁盘总数      |
+| partition_num | 无    | 分区总数      |
+| block_write   | 无    | 写入磁盘的总块数  |
+| block_read    | 无    | 从磁盘读出的块数  |
+| write_rate    | iops | 每秒写磁盘块的速率 |
+
+### 指标集合:网卡信息
+
+|      指标名称      | 指标单位 |    指标帮助描述     |
+|----------------|------|---------------|
+| interface_name | 无    | 网卡名称          |
+| receive_bytes  | Byte | 入站数据流量(bytes) |
+| transmit_bytes | Byte | 出站数据流量(bytes) |
+
+### 指标集合:文件系统
+
+|    指标名称    | 指标单位 | 指标帮助描述  |
+|------------|------|---------|
+| filesystem | 无    | 文件系统的名称 |
+| used       | Mb   | 已使用磁盘大小 |
+| available  | Mb   | 可用磁盘大小  |
+| usage      | %    | 使用率     |
+| mounted    | 无    | 挂载点目录   |
+
+### 指标集合:Top10 CPU进程
+
+统计进程使用CPU的Top10进程。统计信息包括:进程ID、CPU占用率、内存占用率、执行命令。
+
+|   指标名称    | 指标单位 | 指标帮助描述 |
+|-----------|------|--------|
+| pid       | 无    | 进程ID   |
+| cpu_usage | %    | CPU占用率 |
+| mem_usage | %    | 内存占用率  |
+| command   | 无    | 执行命令   |
+
+### 指标集合:Top10 内存进程
+
+统计进程使用内存的Top10进程。统计信息包括:进程ID、内存占用率、CPU占用率、执行命令。
+
+|   指标名称    | 指标单位 | 指标帮助描述 |
+|-----------|------|--------|
+| pid       | 无    | 进程ID   |
+| mem_usage | %    | 内存占用率  |
+| cpu_usage | %    | CPU占用率 |
+| command   | 无    | 执行命令   |
diff --git a/home/sidebars.json b/home/sidebars.json
index dc8bcfb72..2633815cc 100755
--- a/home/sidebars.json
+++ b/home/sidebars.json
@@ -187,7 +187,8 @@
             "help/euleros",
             "help/fedora",
             "help/linux_script",
-            "help/windows_script"
+            "help/windows_script",
+            "help/macos"
           ]
         },
         {


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


Reply via email to