Posted at

sar(sysstat)の00時00分のデータが取れてない?

More than 1 year has passed since last update.

ここではsar(sysstat)のインストール方法、使い方などは省かせていただきます。

非常にわかりやすかったページのリンクを貼っておきます。


sar(sysstat)によるボトルネック特定



cron の設定について

デフォルトは下記のような設定になっていると思います。


/etc/cron.d/sysstat

*/10 * * * * root /usr/lib/sa/sa1 1 1

53 23 * * * root /usr/lib/sa/sa2 -A

しかし、00時00分~00時10分のデータを見てみると、

$ sar -q -s 00:00:00 -e 00:11:00

00時00分01秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
00時10分01秒 1 488 0.01 0.32 0.29
平均値: 1 488 0.01 0.32 0.29

取れてない?


cron 設定変更

下記のページによると、


http://sebastien.godard.pagesperso-orange.fr/faq.html

日本語訳>

Sysstatは深夜にデータを取得しますが、値を表示するには2つのデータサンプルが必要です。

"ファイルローテーション"(新しい日の始まり)があると、sadcはそのデータを前日のデータファイル(/var/log/sa/sa<DD>)の末尾に書きます。


ということだそうです。

データサンプルが1つしかないため、00時00分のデータが表示されなかったようです。

crontab の例を基に下記のようにしました。


/etc/cron.d/sysstat

#*/10 * * * * root /usr/lib/sa/sa1 1 1

53 23 * * * root /usr/lib/sa/sa2 -A

*/10 1-22 * * * root /usr/lib/sa/sa1 1 1
0-40/10 23 * * * root /usr/lib/sa/sa1 1 1
50 23 * * * root /usr/lib/sa/sa1 600 2
10-50/10 0 * * * root /usr/lib/sa/sa1 1 1


$ sar -q -s 23:50:00 -e 00:01:00 -f /var/log/sa/sa<DD>

23時50分01秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
00時00分01秒 1 424 0.13 0.03 0.01
平均値: 1 424 0.13 0.03 0.01

末尾に00時00分のデータが書き込まれていました。

<DD>を「17」とした場合、

翌日18日の00時00分のデータが「/var/log/sa/sa17」の末尾に書き込まれています。

5分毎の場合は下記のようになると思います。(未検証)


/etc/cron.d/sysstat

58 23 * * * root /usr/lib/sa/sa2 -A

*/5 1-22 * * * root /usr/lib/sa/sa1 1 1
0-50/5 23 * * * root /usr/lib/sa/sa1 1 1
55 23 * * * root /usr/lib/sa/sa1 300 2
5-55/5 0 * * * root /usr/lib/sa/sa1 1 1



さいごに

翌日のデータが末尾に書き込まれる、というのが要注意です。

00時00分のデータは必要ない、という場合はこのような設定変更は不要です。

データが抜け落ちてて気持ち悪い、という方はご参考までに