(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Linux/Debian】sysstatで取得したデータをsarコマンドで表示する流れ

スポンサーリンク

はじめに

サーバのパフォーマンス情報を取得するツールに「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で読めば全項目が可視化できます。

f:id:mtiit:20200729151122p:plain
可視化できる

注意点として上記時刻に「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のフォーマットは確認する必要がある点はご注意ください。