Debian, Ubuntuでsarコマンドを使いシステムの統計情報を収集する
|
sar
コマンドはシステムの統計情報(LoadAverageやCPU使用率、ディスクI/Oの状態など)を収集・表示できるコマンドです。サーバーで問題が発生した時の調査や問題の切り分けに使えます。
sysstatのインストール
システムの統計情報を採取して sar
コマンドを使えるようにするために、sysstatパッケージをインストールします。
$ apt install sysstat
これで sar
コマンドを使えるようになるはず、、ですが下記のようなエラーに遭遇し、使えませんでした。
Cannot open /var/log/sysstat/sa30: No such file or directory
Please check if data collecting is enabled
sarコマンドを有効にする
/etc/default/sysstat ファイルのEnabledの値をtrueに変更すると、 sar
コマンドを使えるようになります。
$ sed -i 's/ENABLED="false"/ENABLED="true"/' /etc/default/sysstat
値の変更後、サービスを再起動します。
$ service sysstat restart
統計情報の採取間隔
統計情報の採取間隔はcronで設定されています。デフォルトは10min間隔のようです。
$ cat /etc/cron.d/sysstat
# ↓出力結果
# The first element of the path is a directory where the debian-sa1
# script is located
PATH=/usr/lib/sysstat:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin
# Activity reports every 10 minutes everyday
5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
# Additional run at 23:59 to rotate the statistics file
59 23 * * * root command -v debian-sa1 > /dev/null && debian-sa1 60 2
コマンドの使い方
sar -q
…LoadAveragesar -u
…CPUの使用状況sar -r
…メモリの使用状況sar -b
…I/Oと転送速度の状況sar -W
…スワップの状況sar -s $TIME
…指定した時間からのデータを出力sar -e $TIME
…指定した時間までのデータを出力sar -f /var/log/sa/sa01
…日付別に保存された過去のデータの確認
$TIMEは19:00:00という感じで指定します。
また、 sar -r 1
という感じで2つ目の引数に数字を入れると、秒ごとに情報を取得できます。
まとめ
sar
コマンドのインストールと使い方について簡単にまとめました。
最近、オンプレミスで稼働しているサーバーを触っているのですが、良い機会なのでLinuxの仕組みや基礎的な知識についておさらいしつつ、業務に役立てていこうと思います。