サーバのリソース使用状況を確認する

f:id:hosiimo_kt:20170110004129p:plain
サーバトラブル原因調査を行うときに、その原因が発生した時点でのサーバの状態を確認したい場面がままあります。サーバのモニタリングはvmstat、topといったコマンドでも行うことができますが、現時点での情報しか表示することができません。sarコマンドを使用することで、今だけでなく、過去のリソース使用状況を確認も確認することができます。

インストール

apt-get install sysstat ※debianの場合

でインストールできます。

使い方

sarコマンドは表示したい情報のオプションを後ろにつけて使います。

sar <オプション>

主要なオプションは以下の通り

オプション 内容
-u CPU
-q ロードアベレージ
-r メモリ使用状況
-b ディスクIO
-n DEV 送受信パケット
-n EDEV エラーパケット
-A 全て
-f 対象ファイル
-s 開始時間
-e 終了時間

sarコマンドの過去のデータは通常 /var/log/sysstat/ 以下に保存されます。※debianの場合

過去のデータを見る場合は -f オプションでファイルを指定して実行します。
例えば、エラーログなどから9日の13時前後に何かが起こったのだろうとあたりをつけ、その時間帯のCPU使用率を確認したいとなった場合は

sar -f /var/log/sysstat/sa20170109 -s 12:00 -e 14:00 -u

といった感じで実行します。