Unofficial

SysMon

SysMon:看看您的 QNAP 正在做什麼

在終端機中查看處理程序、磁碟、網路與感測器。

SysMon 加入能顯示 NAS 當下狀況的程式:htop、btop、atop、Glances、iotop、iftop、ncdu、mtr 等,全部都能從 SSH 登入使用。

每個程式都以 Bucket & Code Server IDE 從原始碼編譯。您可以直接安裝套件,也可以修改配方清單,建置自己的版本。

App Center 中:(example) SysMon · Intel 和 AMD (x86_64) · QTS 6.0 或 QuTS hero 6.0 以上版本 · freeware

NAS 上的 SSH 登入

command -v hdparm

/usr/app/SysMon/first/hdparm

hdparm -V

hdparm v9.65

iostat -V | head -1

sysstat version 12.8.0

iperf3 --version | head -1

iperf 3.21 (cJSON 1.7.15)

nmap --version | head -1

Nmap version 7.991 ( https://nmap.org )

btop --version

btop version: 1.3.2

內含項目

配方清單列出這些程式,建置時會加入它們需要的函式庫。

處理程序、處理器與記憶體

htop
互動式處理程序清單
btop
在同一畫面顯示處理器、記憶體、磁碟、網路和處理程序
atop
具長期記錄的處理程序檢視,含 atopsar
glances
以 Python 編寫的系統監視器
procps
ps, top, free, vmstat, watch, pgrep, pkill, pmap, slabtop
sysstat
iostat, mpstat, pidstat, sar
psmisc
pstree, fuser, killall, prtstat
nmon
Nigel's performance monitor

磁碟與檔案

iotop
每個處理程序和執行緒的磁碟使用量
ncdu
資料夾裡有什麼佔用空間,依大小排序
lsof
開啟的檔案及持有它們的處理程序
progress
cp、mv、dd 和 tar 的進度
pv
資料通過管線的進度、速率和剩餘時間
smartmontools
用於 S.M.A.R.T. 資料的 smartctl 和 smartd
hdparm
讀取並設定 ATA/SATA 磁碟參數,測量讀取速度
sdparm
讀取並變更 SCSI 和 SATA 磁碟的模式頁
nvme
nvme-cli:NVMe 磁碟資訊、SMART 和錯誤記錄
ioping
像 ping 一樣逐一請求測量磁碟延遲
fio
彈性 I/O 測試工具
duf
以表格顯示已掛載檔案系統的用量

網路

iftop
每個連線的頻寬
nload
以圖表顯示傳入和傳出流量
nethogs
每個處理程序的頻寬
bmon
頻寬監視器
vnstat
每個介面的流量記錄,含 vnstatd 常駐程式
mtr
traceroute 和 ping 合一,逐躍點顯示
iptraf-ng
文字介面的 IP 流量與區域網路統計
tcpdump
擷取並解碼封包
ethtool
顯示和變更網路介面設定
iperf3
測量網路吞吐量
nmap
網路探索與連接埠掃描,附 ncat 和 nping
iproute2
ip、ss 和 tc:位址、路由和通訊端
fping
同時 ping 多台主機
arp-scan
以 ARP 尋找區域網路中的主機
traceroute
顯示通往主機途中的路由器

硬體與系統呼叫

sensors
lm-sensors:溫度、風扇轉速和電壓
dmidecode
韌體表格:主機板、BIOS、記憶體模組
lspci
含名稱的 PCI 裝置
lsusb
含名稱的 USB 匯流排與裝置
ipmitool
透過網路與伺服器的 BMC 通訊
strace
程式的系統呼叫和訊號
tmux
專案儀表板使用的窗格

實際畫面

安裝 App Center 套件的 QNAP NAS 實際畫面。

終端機中的 btop,含 CPU、記憶體、磁碟、網路和處理程序面板
NAS 上的 btop:同時顯示處理器、記憶體、磁碟、網路和處理程序清單。
htop:處理程序清單上方的處理器與記憶體長條
htop 在處理程序清單上方為每個處理器核心顯示一條長條。

適合對象

NAS 感覺變慢了

btop 和 htop 顯示哪個處理程序佔用處理器和記憶體。iotop 顯示哪個處理程序讓磁碟忙碌。

磁碟區快滿了

ncdu 掃描資料夾並依大小排序內容,讓您看出什麼佔用了空間。

您想查看流量

iftop、nload 和 NetHogs 依連線、介面和處理程序顯示流量。mtr 逐躍點追蹤路由。

安裝

  1. 將本站儲存庫新增至 App Center 一次:三個步驟。
  2. 在儲存庫清單中找到 (example) SysMon,然後按 安裝。
  3. 在 控制台 › 網路&檔案服務 › Telnet / SSH 中開啟 SSH。

啟動

SysMon 沒有自己的視窗,要從終端機使用。以 admin 透過 SSH 登入,再以名稱呼叫程式。

ssh admin@192.0.2.10     # 您的 NAS 位址
htop                     # 處理程序
btop                     # 所有資訊都在同一畫面
ncdu /share/Public       # 這個資料夾裡有什麼佔用空間

須知

  • 在您輸入指令的 Shell 中,套件的 hdparm、iostat、lspci 和 free 會先於 QTS 的版本執行,因為 QTS 的版本無法做到這些用途:hdparm -I、iostat -m、lspci 的裝置名稱和 free -h。
  • iotop、iftop、nethogs、iptraf-ng、tcpdump、mtr 和 smartctl 會讀取只有 root 能讀取的資料。NAS 上的 admin 登入可以執行它們。
  • sensors 只列出已載入的核心驅動程式公開的晶片,例如提供 Intel 機型處理器溫度的 coretemp。
  • vnStat 只有在常駐程式執行時才會記錄流量。vnstatd -d 會啟動它,NAS 重新啟動時它就會停止。
  • iotop 的 SWAPIN 和 IO% 欄位會保持空白,直到您開啟核心的延遲統計:echo 1 > /proc/sys/kernel/task_delayacct。此設定持續到 NAS 重新啟動。
  • QTS 也有的其他名稱仍使用 QTS 的版本,例如 top、ps、lsof、pv 和 ethtool。若要使用套件的版本,請輸入完整路徑,例如 /usr/app/SysMon/bin/top。
  • 指令碼、cron 和直接交給 ssh 的指令使用 QTS 的指令。
  • 在 QNAP NAS 上,nc 是 QNAP 的 Notification Center 工具。請使用 ncat。
  • ipmitool 透過網路與伺服器的 BMC 通訊,而大多數 NAS 機型沒有自己的 BMC。

隨時修改,重新建置

SysMon 是 Bucket & Code Server IDE 的範例,這是我們為 QNAP 提供的免費開發環境。它會在您自己的 NAS 上從原始碼編譯每個程式,並將結果打包成 QPKG。

從面板操作

  1. 在 Bucket & Code 中開啟 應用程式,再開啟 範例 分頁。如果還沒有 Builder 環境,請新增 Ubuntu 24.04 builder (full)。
  2. 在 SysMon (geek set 2) 上按 使用此範例。應用程式會連同配方一起出現,但尚未建置任何內容。
  3. 按 建置,再按 啟用。安裝 QDK 工具鏈後,匯出 就能產生 QPKG。

從終端機操作

編輯器專案 SysMon 在 recipes.txt 中保存相同的清單。刪除一行或從配方庫新增配方,然後在編輯器終端機中執行:

make app        # 從 recipes.txt 製作應用程式
make build      # 建置並追蹤工作
make activate   # /usr/app/SysMon 現在指向此建置
make qpkg       # 匯出 QPKG (需要 QDK 工具鏈)

專案還有儀表板:make dashboard 會在四個 tmux 窗格中顯示 btop、iotop、iftop 和 nload。它在 make activate 之後執行。

Bucket & Code App Builder 的新應用程式頁面 觀看在 Bucket & Code 中的操作 Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware) YouTube 影片 8 分鐘

相關頁面