SysMon
SysMon:QNAP の動作状況を見る
プロセス、ディスク、ネットワーク、センサーをターミナルで。
SysMon は、NAS がいま何をしているかを示すプログラムを追加します:htop、btop、atop、Glances、iotop、iftop、ncdu、mtr など、すべて SSH ログインから使えます。
どのプログラムも Bucket & Code Server IDE でソースからコンパイルしています。パッケージをそのままインストールするか、レシピリストを変更して自分のパッケージをビルドできます。
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 トラフィックと LAN 統計
- 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 の実際の画面です。
こんな方に
NAS が遅いと感じる
btop と htop で、プロセッサーとメモリを使っているプロセスがわかります。iotop で、ディスクを使っているプロセスがわかります。
ボリュームがいっぱいになる
ncdu はフォルダーを調べて中身をサイズ順に並べるので、何が容量を使ったのかがわかります。
トラフィックを見たい
iftop、nload、NetHogs は、接続別、インターフェース別、プロセス別にトラフィックを表示します。mtr は経路をホップごとにたどります。
インストール
- このサイトのリポジトリを App Center に一度追加します:三つの手順。
- リポジトリの一覧で (example) SysMon を見つけ、インストール を押します。
- コントロールパネル › ネットワークとファイルサービス › Telnet / SSH で SSH を有効にします。
起動
SysMon には専用のウィンドウがなく、ターミナルから使います。admin として SSH でログインし、プログラムを名前で呼び出します。
ssh admin@192.0.2.10 # NAS のアドレス htop # プロセス btop # すべてをひとつの画面に ncdu /share/Public # このフォルダーを占めるもの
知っておきたいこと
- 入力して使うシェルでは、パッケージの 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 は、QNAP 向けの無料の開発環境 Bucket & Code Server IDE の例です。各プログラムをお使いの NAS 上でソースからコンパイルし、結果を QPKG にまとめます。
パネルから
- Bucket & Code で アプリ を開き、例 タブを開きます。Builder 環境がまだない場合は Ubuntu 24.04 builder (full) を追加します。
- SysMon (geek set 2) で この例を使う を押します。アプリがレシピとともに表示されますが、まだ何もビルドされていません。
- ビルド を押し、続けて 有効化 を押します。QDK ツールチェーンをインストールすると、エクスポート で QPKG を作成できます。
ターミナルから
エディターのプロジェクト SysMon には、recipes.txt に同じリストがあります。行を削除するか、ライブラリからレシピを追加して、エディターのターミナルで次を実行します:
make app # recipes.txt からアプリを作成 make build # ビルドしてジョブを追跡 make activate # /usr/app/SysMon がビルドを指すようになる make qpkg # QPKG をエクスポート (QDK ツールチェーンが必要)
プロジェクトにはダッシュボードもあります:make dashboard は btop、iotop、iftop、nload を四つの tmux ペインに表示します。make activate の後に動作します。
Bucket & Code での操作を見る
Compile Any App You Need Without Linux Skills: Build QPKG & Deploy Easily (Freeware)
YouTube で 8 分

