サーバ運用でよく利用する「dstatのオプション」と「オプションを組み合わせた使用例」を紹介します。
dstatコマンドの概要
dstatは、Linuxシステムで動作する強力なシステムモニタリングツールです。
このツールは、システムの現在のリソース使用状況に関する包括的な情報をリアルタイムで提供します。
dstatは、CPU、メモリ、ディスクI/O、ネットワーク、割り込みなどの各種システム指標を詳細に報告し、それらの統計を一定間隔で更新して表示します。
dstatは特に、システムのパフォーマンスボトルネックを特定する際に役立ち、システム管理者が問題解析や性能最適化を行うのに必須のツールです。
dstatの主要なオプションとその詳細
dstatの豊富なオプションを利用することで、詳細なシステム監視が可能になります。ここでは、その中でも特に有用な23のオプションを紹介します。
■書式
dstat [オプション]
オプション一覧:
-a, --all | 全ての基本的な統計を表示します(CPU、ディスク、ネットワーク、メモリ、システムイベント)。 |
-f, --full | オプションリスト(CPU、ディスクなど)の詳細を自動的に拡張します。 |
-t, --time | 各更新で現在の時間を表示します。 |
-c, --cpu | CPU使用率を表示します。 |
-d, --disk | ディスクのI/O統計を表示します。 |
-n, --net | ネットワークの使用状況を表示します。 |
-m, --mem | メモリ使用状況を表示します。 |
-l, --load | システムロードを表示します。 |
-y, --sys | システムイベント(コンテキストスイッチ、割り込みなど)を表示します。 |
-r, --io | I/O統計(読み取り/書き込みのリクエスト数)を表示します。 |
-s, --swap | スワップ使用状況を表示します。 |
-g, --page | ページング統計(ページイン、ページアウト)を表示します。 |
-i, --int | 割り込み統計を表示します。 |
--tcp | TCPトラフィックの統計を表示します。 |
--udp | UDPトラフィックの統計を表示します。 |
-T, --epoch | エポック時間(1970年1月1日からの秒数)を表示します。 |
--nocolor | カラー表示を無効にします。 |
--noheaders | 繰り返しヘッダーの表示を無効にします。 |
-o file, --output=file | 統計を指定したファイルにCSV形式で出力します。 |
--vm | VM統計を表示します。 |
--fs, --filesystem | ファイルシステムの使用状況を表示します。 |
--socket | ソケット使用状況を表示します。 |
--unix | UNIXドメインソケットの統計を表示します。 |
dstatのオプションを組み合わせた使用例
dstatコマンドのオプションを効果的に組み合わせることで、システムの特定の側面を詳細に監視できます。以下にいくつかの具体的な使用例を紹介します。
総合モニタリング
・全ての基本統計と詳細情報を時間と共に表示
dstat -af --time
・1秒ごとにCPU、ディスク、ネットワーク、メモリ、システムイベントの詳細統計と時間を表示
dstat -cdnmgy --full --time 1
・ディスクとネットワークの詳細統計を時間と共にCSVファイルに出力
dstat -df --net --time --output network-disk-analysis.csv
CPUモニタリング
・CPUの使用率をリアルタイムで表示しつつ、結果をCSVファイルに保存
dstat -c --time --output cpu-stats.csv
・CPU関連の詳細統計をカラー表示なしで出力
dstat -cf --nocolor
・5秒ごとに全統計データとCPUの使用状況を表示
dstat -ac --time 5
ディスクモニタリング
・ディスクのI/O統計をリアルタイムで監視し、結果を時間情報と共にCSVで保存
dstat -d --output disk-usage.csv --time
・1秒ごとにディスクの活動と全統計を表示
dstat -ad --time 1
ネットワークモニタリング
・ネットワークの全統計と時間を記録し、CSVファイルに保存
dstat -n --full --time --output network-activity.csv
・10秒ごとにネットワークの使用状況と全統計を表示
dstat -an --time 10
メモリモニタリング
・メモリ使用状況を時間と共に監視し、CSVファイルに保存
dstat -m --time --output memory-monitoring.csv
・5秒ごとにメモリ使用状況と全統計を表示
dstat -am --time 5
Swapモニタリング
・スワップ使用状況を時間と共に監視し、CSVファイルに保存
dstat -s --time --output swap-usage.csv
・1秒ごとにスワップの使用状況と全統計を表示
dstat -as --time 1
プロセスモニタリング
・実行中のプロセス数を時間と共に監視し、CSVファイルに保存
dstat -p --time --output process-stats.csv
・10秒ごとにプロセスの活動と全統計を表示
dstat -ap --time 10
保管方法
・全ての統計をフルオプションで表示し、結果を時間情報と共にCSVファイルに保存
dstat -af --output full-monitoring.csv --time
・60秒ごとに全統計を取得し、CSVファイルに保存
dstat -a --time --output every-minute.csv 60
dstatのベストプラクティス
dstatを最大限に活用するためのベストプラクティスをいくつか紹介します。
適切なオプションの選択
dstatは非常に多機能ですが、必要な情報だけを収集するために適切なオプションを選択することが重要です。
これにより、無駄なデータを排除し、重要な統計情報に集中することができます。
定期的なモニタリング
定期的にシステムのパフォーマンスを監視することで、問題が発生する前に予防措置を講じることができます。
dstatを使って自動化されたモニタリングを設定し、異常な動作を早期に検出しましょう。
データの保存と分析
dstatの出力を保存しておくことで、後で詳細な分析を行うことができます。
特に、パフォーマンスのトレンドや異常なスパイクを特定するのに役立ちます。
コメント