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]