はじめに
サーバのパフォーマンス情報を取得するツールに「sysstat」があります。
これを動かしていれば自動で/var/log/sysstat/
にログファイルが溜まっていき、必要に応じてsarコマンドでテキスト化すればkSarで可視化することもできます。
本記事ではDebianサーバでSarファイルを取得し、それらをkSarで可視化する流れを解説します。
環境情報
- Debian GNU/Linux 9 (stretch)
- kSar7 (alpha)
性能情報を取得する
以下でsysstat(system performance tools for Linux)が取得できます。
$ apt-get install sysstat
本ツールをインストールすると以下に設定ファイルができているので"false"
を"true"
に修正します。
# cat /etc/default/sysstat ENABLED="false"
ログの取得間隔は/etc/cron.d/sysstat
に以下の記載があります。
5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
これは「10分毎に debian-sa1 というコマンドを実行して成功すれば debian-sa1 を 1秒に1回 打つ」ことを指しています。
本データを毎分取りたい場合は5-55/10
を*
に変更します。
性能情報を確認する
デフォルトでは/var/log/sysstat/
にログが吐かれます。
ファイルが無ければ以下エラーになりますが
# sar Cannot open /var/log/sysstat/saxx: No such file or directory
cronによる起動でファイルができれば以下のようにCPU状況が確認でき
# sar Linux 4.9.0-9-amd64 (server-1) mm/dd/yyyy _x86_64_ (1 CPU) 04:35:01 AM CPU %user %nice %system %iowait %steal %idle 04:36:01 AM all 0.91 0.00 0.57 0.05 0.00 98.47 Average: all 0.91 0.00 0.57 0.05 0.00 98.47
時間が経つ毎に追記されていきます。
# sar Linux 4.9.0-9-amd64 (server-1) mm/dd/yyyy _x86_64_ (1 CPU) 04:35:01 AM CPU %user %nice %system %iowait %steal %idle 04:36:01 AM all 0.91 0.00 0.57 0.05 0.00 98.47 04:37:01 AM all 0.84 0.00 0.47 0.15 0.00 98.54 Average: all 0.87 0.00 0.52 0.10 0.00 98.51
kSarで可視化する
以下コマンドで全ての情報をテキスト化できます。
# sar -A -f /var/log/sysstat/saxx > /tmp/sarxx
このファイルをkSarで読めば全項目が可視化できます。
注意点として上記時刻に「AM」という文言が入っていたのでkSarで時刻が取得できなかったため以下で消去しました。
# cat sarxx | sed -e "s/AM//g" > sarxxa
出力する時刻は以下のように絞ることもできます。
# sar -A -f /var/log/sysstat/saxx -s 04:45:00 -e 04:55:00
終わりに
Linux機におけるパフォーマンス情報の解析に便利なので、サーバを管理する際はこちらを仕掛けるようにしています。
kSarに流し込む場合は日時の形式で失敗する可能性があるのでYYYYMMDDとhh:mm:ssのフォーマットは確認する必要がある点はご注意ください。