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 d681420c11 [feature] add support for darwin (#3431)
d681420c11 is described below

commit d681420c115ee9fc6f4811e3a5ed4643ccd57f2b
Author: Liuxin <[email protected]>
AuthorDate: Mon Jun 9 00:04:02 2025 +0800

    [feature] add support for darwin (#3431)
    
    Co-authored-by: kangli <[email protected]>
    Co-authored-by: tomsun28 <[email protected]>
---
 .../src/main/resources/define/app-darwin.yml       | 857 +++++++++++++++++++++
 home/docs/help/darwin.md                           | 108 +++
 .../current/help/darwin.md                         | 110 +++
 3 files changed, 1075 insertions(+)

diff --git a/hertzbeat-manager/src/main/resources/define/app-darwin.yml 
b/hertzbeat-manager/src/main/resources/define/app-darwin.yml
new file mode 100644
index 0000000000..192131cc14
--- /dev/null
+++ b/hertzbeat-manager/src/main/resources/define/app-darwin.yml
@@ -0,0 +1,857 @@
+# 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: darwin
+# The monitoring i18n name
+name:
+  zh-CN: Darwin操作系统
+  en-US: Darwin Linux
+  ja-JP: Darwin Linux
+  zh-TW: Darwin操作系統
+# 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> 对 
Darwin 操作系统的通用性能指标 (系统信息、CPU、内存、磁盘、网卡、文件系统、TOP资源进程等) 进行采集监控。<br>您可以点击“<i>新建 
Darwin</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 Darwin 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 Darwin</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> 對 
Darwin 操作系统的通用性能指標 (系統信息、CPU、內存、磁盤、網卡、文件系統、TOP資源進程等) 進行採集監控。<br>您可以點擊“<i>新建 
Darwin</i>”並配置HOST端口賬戶等相關參數進行添加,支持SSH賬戶密碼或密鑰認證。或者選擇“<i>更多操作</i>”,導入已有配寘。
+#  ja-JP: HertzBeat は <a class='help_module_content' 
href='https://HertzBeat.apache.org/docs/advanced/extend-ssh'> SSHプロトコルを介して</a> 
Darwinシステムの一般的なパフォーマンスのメトリック監視します。<br>「<i>新規 Darwin 
Linux</i>」をクリックしてホストなどのパラメタを設定した後、新規することができます。SSHまたはキー認証をサポートします。
+helpLink:
+  zh-CN: https://HertzBeat.apache.org/zh-cn/docs/help/Darwin/
+  en-US: https://HertzBeat.apache.org/docs/help/Darwin/
+# 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: 目標ホスト
+      zh-TW: 目標Host
+    # 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: ポート
+      zh-TW: 端口
+    # 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)
+      zh-TW: 超時時間(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: コネクション再利用
+      zh-TW: 復用連接
+    # 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: プロキシコネクション利用
+      zh-TW: 使用代理
+    # 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: ユーザー名
+      zh-TW: 用戶名
+    # 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: パスワード
+      zh-TW: 密碼
+    # 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: 秘密鍵
+      zh-TW: 私鑰
+    # 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: 秘密鍵フレーズ
+      zh-TW: 私鑰短語
+    # 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: プロキシホスト
+      zh-TW: 代理主機
+    # 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: プロキシポート
+      zh-TW: 代理端口
+    # 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: プロキシユーザー名
+      zh-TW: 代理用戶名
+    # 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: プロキシパスワード
+      zh-TW: 代理密碼
+    # 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: プロキシ秘密鍵
+      zh-TW: 代理主機私鑰
+    # 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: システム基礎情報
+      zh-TW: 系統基本信息
+    # 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: ホスト名
+          zh-TW: 主機名稱
+      - field: version
+        type: 1
+        i18n:
+          zh-CN: 操作系统版本
+          en-US: System Version
+          ja-JP: システムバージョン
+          zh-TW: 操作系統版本
+      - field: uptime
+        type: 1
+        i18n:
+          zh-CN: 启动时间
+          en-US: Uptime
+          ja-JP: アップタイム
+          zh-TW: 啟動時間
+    # 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: |
+        (
+            hostname | awk -F "," '{printf "%s\n", $1}'
+            sw_vers | awk '/:/ {printf "%s ", $2} END {print ""}'
+            sysctl -n kern.boottime | awk '{for(i=9;i<=NF;i++) printf "%s ", 
$i; print ""}'
+        )
+      # ssh response data parse type: oneRow, multiRow
+      parseType: oneRow
+
+  - name: cpu
+    i18n:
+      zh-CN: CPU 信息
+      en-US: CPU Info
+      ja-JP: CPU情報
+      zh-TW: CPU 信息
+    priority: 1
+    fields:
+      - field: info
+        type: 1
+        i18n:
+          zh-CN: 型号
+          en-US: Info
+          ja-JP: バージョン
+          zh-TW: 型號
+      - field: cores
+        type: 1
+        i18n:
+          zh-CN: 核数
+          en-US: Cores
+          ja-JP: コア数
+          zh-TW: 核數
+      - field: interrupt
+        type: 0
+        i18n:
+          zh-CN: 中断数
+          en-US: Interrupt
+          ja-JP: 割り込み数
+          zh-TW: 中斷數
+      - field: load
+        type: 1
+        i18n:
+          zh-CN: 负载
+          en-US: Load
+          ja-JP: ロード
+          zh-TW: 負載
+      - field: context_switch
+        type: 0
+        i18n:
+          zh-CN: 上下文切换
+          en-US: Context Switch
+          ja-JP: コンテキストスイッチ
+          zh-TW: 上下文切換
+      - field: usage
+        type: 0
+        unit: '%'
+        i18n:
+          zh-CN: 使用率
+          en-US: Usage
+          ja-JP: 使用率
+          zh-TW: 使用率
+    # (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
+      - interrupt
+      - context_switch
+      - 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
+      - interrupt=interrupt
+      - context_switch=context_switch
+      - usage=100 - 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.logicalcpu; 
sysctl -n vm.loadavg | awk '{print $2, $3, $4}'; idle=$(top -l 1 | grep "CPU 
usage" | awk '{print $7}' | tr -d '%') ; free_pages=$(vm_stat | awk '/free/ 
{gsub(/\./,"",$3); print $3}'); active_pages=$(vm_stat | awk '/active/ 
{gsub(/\./,"",$3); print $3}'); first_swapins=$(vm_stat | awk '/swapins/ 
{gsub(/\./,"",$2); print $2}'); sleep 1; second_swapins=$(vm_stat | awk 
'/swapins/ {gsub(/\./,"",$2); print $2}'); echo  [...]
+      parseType: oneRow
+
+  - name: memory
+    i18n:
+      zh-CN: 内存信息
+      en-US: Memory Info
+      ja-JP: メモリ情報
+      zh-TW: 內存信息
+    priority: 2
+    fields:
+      - field: total
+        type: 1
+        unit: Mb
+        i18n:
+          zh-CN: 总内存容量
+          en-US: Total Memory
+          ja-JP: メモリ容量
+          zh-TW: 總內存容量
+      - field: used
+        type: 0
+        unit: Mb
+        i18n:
+          zh-CN: 用户程序内存量
+          en-US: User Program Memory
+          ja-JP: ユーザープログラムメモリ
+          zh-TW: 用戶程序內存量
+      - field: free
+        type: 0
+        unit: Mb
+        i18n:
+          zh-CN: 空闲内存容量
+          zh-TW: 空閒內存容量
+          en-US: Free Memory
+          ja-JP: 空きメモリ
+      - field: buff_cache
+        type: 0
+        unit: Mb
+        i18n:
+          zh-CN: 缓存占用内存
+          zh-TW: 緩存佔用內存
+          en-US: Buff Cache Memory
+          ja-JP: バッファメモリ
+      - field: available
+        type: 0
+        unit: Mb
+        i18n:
+          zh-CN: 剩余可用内存
+          zh-TW: 剩餘可用內存
+          en-US: Available Memory
+          ja-JP: 使用可能なメモリ
+      - field: usage
+        type: 0
+        unit: '%'
+        i18n:
+          zh-CN: 内存使用率
+          zh-TW: 內存使用率
+          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: |
+        sysctl -n hw.memsize | awk '{
+          t=$1/1048576;
+          cmd="vm_stat";
+          while (cmd | getline) {
+            if ($1=="Pages") {
+              if ($2=="free:") {f=$3}
+              else if ($2=="active:") {a=$3}
+              else if ($2=="inactive:") {i=$3}
+              else if ($2=="speculative:") {s=$3}
+              else if ($2~/wired/) {w=$NF}
+            };
+            gsub(/\.[ \t]*$/,"",f);
+            gsub(/\.[ \t]*$/,"",a);
+            gsub(/\.[ \t]*$/,"",i);
+            gsub(/\.[ \t]*$/,"",s);
+            gsub(/\.[ \t]*$/,"",w);
+          };
+          close(cmd);
+          fm=(f+s)/256;
+          um=(a+w)/256;
+          im=i/256;
+          bm=im;
+          am=fm+im;
+          print "total used free buff_cache available";
+          printf "%d %d %d %d %d\n", t, um, fm, bm, am
+        }'
+      parseType: multiRow
+
+#  - name: disk
+#    i18n:
+#      zh-CN: 磁盘信息
+#      zh-TW: 磁盤信息
+#      en-US: Disk Info
+#      ja-JP: ディスク情報
+#    priority: 3
+#    fields:
+#      - field: disk_num
+#        type: 1
+#        i18n:
+#          zh-CN: 磁盘总数
+#          zh-TW: 磁盤總數
+#          en-US: Disk Num
+#          ja-JP: ディスク番号
+#      - field: partition_num
+#        type: 1
+#        i18n:
+#          zh-CN: 分区总数
+#          zh-TW: 分區總數
+#          en-US: Partition Num
+#          ja-JP: パーティション
+#      - field: block_write
+#        type: 0
+#        i18n:
+#          zh-CN: 写磁盘块数
+#          zh-TW: 寫磁盤塊數
+#          en-US: Block Write
+#          ja-JP: 書き込みディスクブロック数
+#      - field: block_read
+#        type: 0
+#        i18n:
+#          zh-CN: 读磁盘块数
+#          zh-TW: 讀磁盤塊數
+#          en-US: Block Read
+#          ja-JP: 読み取りブロック数
+#      - field: write_rate
+#        type: 0
+#        unit: iops
+#        i18n:
+#          zh-CN: 磁盘写速率
+#          zh-TW: 磁盤寫速率
+#          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: cat /proc/net/dev | tail -n +3 | awk 'BEGIN{ print 
"interface_name receive_bytes transmit_bytes"} {gsub(":", "", $1); print 
$1,$2,$10}'
+#      parseType: oneRow
+
+  - name: interface
+    i18n:
+      zh-CN: 网卡信息
+      zh-TW: 網卡信息
+      en-US: Interface Info
+      ja-JP: ネットワークカード情報
+    priority: 4
+    fields:
+      - field: interface_name
+        type: 1
+        label: true
+        i18n:
+          zh-CN: 网卡名称
+          zh-TW: 網卡名稱
+          en-US: Interface Name
+          ja-JP: ネットワークカード名
+      - field: receive_bytes
+        type: 0
+        unit: Mb
+        i18n:
+          zh-CN: 入站数据流量
+          zh-TW: 入站數據流量
+          en-US: Receive Bytes
+          ja-JP: 受信バイト数
+      - field: transmit_bytes
+        type: 0
+        unit: Mb
+        i18n:
+          zh-CN: 出站数据流量
+          zh-TW: 出站數據流量
+          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 -i | grep -v "lo0" | awk 'BEGIN { print "interface_name 
receive_bytes transmit_bytes" } NR>1 && $1 !~ /^-/ { print $1, $5, $9 }'
+      parseType: multiRow
+
+  - name: disk_free
+    i18n:
+      zh-CN: 文件系统
+      zh-TW: 文件系統
+      en-US: Disk Free
+      ja-JP: ファイルシステム
+    priority: 5
+    fields:
+      - field: filesystem
+        type: 1
+        i18n:
+          zh-CN: 文件系统
+          zh-TW: 檔案系統
+          en-US: Filesystem
+          ja-JP: ファイルシステム
+      - field: used
+        type: 0
+        unit: Mb
+        i18n:
+          zh-CN: 已使用量
+          zh-TW: 已使用量
+          en-US: Used
+          ja-JP: 使用済み
+      - field: available
+        type: 0
+        unit: Mb
+        i18n:
+          zh-CN: 可用量
+          zh-TW: 可用量
+          en-US: Available
+          ja-JP: 使用可能
+      - field: usage
+        type: 0
+        unit: '%'
+        i18n:
+          zh-CN: 使用率
+          zh-TW: 使用率
+          en-US: Usage
+          ja-JP: 使用率
+      - field: mounted
+        type: 1
+        label: true
+        i18n:
+          zh-CN: 挂载点
+          zh-TW: 掛載點
+          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 -mP | tail -n +2 | awk 'BEGIN{ print "filesystem used 
available usage mounted"} {print $1,$3,$4,$5,$6}'
+      parseType: multiRow
+
+  - name: top_cpu_process
+    i18n:
+      zh-CN: Top10 CPU 进程
+      zh-TW: Top10 CPU 進程
+      en-US: Top10 CPU Process
+      ja-JP: トップ10 CPUプロセス
+    priority: 6
+    fields:
+      - field: pid
+        type: 1
+        label: true
+        i18n:
+          zh-CN: 进程ID
+          zh-TW: 進程ID
+          en-US: PID
+          ja-JP: プロセスID
+      - field: cpu_usage
+        type: 0
+        unit: '%'
+        i18n:
+          zh-CN: CPU占用率
+          zh-TW: CPU佔用率
+          en-US: CPU Usage
+          ja-JP: CPU使用率
+      - field: mem_usage
+        type: 0
+        unit: '%'
+        i18n:
+          zh-CN: 内存占用率
+          zh-TW: 內存佔用率
+          en-US: Memory Usage
+          ja-JP: メモリ使用率
+      - field: command
+        type: 1
+        i18n:
+          zh-CN: 执行命令
+          zh-TW: 執行指令
+          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 内存进程
+      zh-TW: Top10 內存進程
+      en-US: Top10 Memory Process
+      ja-JP: トップ10 メモリプロセス
+    priority: 7
+    fields:
+      - field: pid
+        type: 1
+        label: true
+        i18n:
+          zh-CN: 进程ID
+          zh-TW: 進程ID
+          en-US: PID
+          ja-JP: プロセスID
+      - field: mem_usage
+        type: 0
+        unit: '%'
+        i18n:
+          zh-CN: 内存占用率
+          zh-TW: 內存佔用率
+          en-US: Memory Usage
+          ja-JP: メモリ使用率
+      - field: cpu_usage
+        type: 0
+        unit: '%'
+        i18n:
+          zh-CN: CPU占用率
+          zh-TW: CPU佔用率
+          en-US: CPU Usage
+          ja-JP: CPU使用率
+      - field: command
+        type: 1
+        i18n:
+          zh-CN: 执行命令
+          zh-TW: 執行指令
+          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" } {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
diff --git a/home/docs/help/darwin.md b/home/docs/help/darwin.md
new file mode 100644
index 0000000000..f16698c2f5
--- /dev/null
+++ b/home/docs/help/darwin.md
@@ -0,0 +1,108 @@
+---
+id: darwin  
+title: darwin operating system monitoring      
+sidebar_label: darwin operating system       
+keywords: [open source monitoring tool, open source os monitoring tool, 
monitoring darwin operating system metrics]
+---
+
+> Collect and monitor the general performance Metrics of darwin operating 
system.
+
+### 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 Linux 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               |
+| interrupt      | None        | Number of CPU interrupts          |
+| load           | None        | Average CPU load (1/5/15 minutes) |
+| context_switch | None        | Number of context switches        |
+| usage          | %           | CPU usage  (to be fixed)          |
+
+#### 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  - to be finished
+
+- Disk information collection is not yet implemented, but will be added in 
future versions.
+
+#### 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/darwin.md 
b/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/darwin.md
new file mode 100644
index 0000000000..83af10a2a9
--- /dev/null
+++ b/home/i18n/zh-cn/docusaurus-plugin-content-docs/current/help/darwin.md
@@ -0,0 +1,110 @@
+---
+id: darwin  
+title: 监控:darwin操作系统监控      
+sidebar_label: darwin 操作系统      
+keywords: [开源监控系统, 开源操作系统监控, darwin操作系统监控]
+---
+
+> 对darwin操作系统的通用性能指标进行采集监控。
+
+### 配置参数
+
+| 参数名称   | 参数帮助描述                                                              
|
+|--------|---------------------------------------------------------------------|
+| 监控Host | 被监控的对端IPV4,IPV6或域名。注意⚠️不带协议头(eg: https://, http://)。                
|
+| 任务名称   | 标识此监控的名称,名称需要保证唯一性。                                                 
|
+| 端口     | Linux 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内核数量            |
+| interrupt      | 无    | CPU中断数量            |
+| load           | 无    | CPU最近1/5/15分钟的平均负载 |
+| context_switch | 无    | 当前上下文切换数量          |
+| usage          | %    | CPU使用率(待完善)        |
+
+#### 指标集合:内存信息
+
+|    指标名称    | 指标单位 |  指标帮助描述  |
+|------------|------|----------|
+| total      | Mb   | 总内存容量    |
+| used       | Mb   | 用户程序内存量  |
+| free       | Mb   | 空闲内存容量   |
+| buff_cache | Mb   | 缓存占用内存   |
+| available  | Mb   | 剩余可用内存容量 |
+| usage      | %    | 内存使用率    |
+
+#### 指标集合:磁盘信息 - 待完善
+
+- darwin操作系统的磁盘信息采集待完善,当前版本不支持。
+- 可以使用其他工具或脚本来获取磁盘信息。
+- 未来版本将支持磁盘信息采集。
+
+#### 指标集合:网卡信息
+
+|      指标名称      | 指标单位 |    指标帮助描述     |
+|----------------|------|---------------|
+| 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   | 无    | 执行命令   |


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


Reply via email to