geek.conf.2

あるエンジニアの備忘録

さー サー sar 保存期間

ザ!っさー!

今日はsarについてです。
sarとはSystem Admin Reporterの略でシステム監視ツールsysstatに含まれるコマンドです。
例のごとくRHEL5x64のお話とさせてください。

sysstatをインストールすると/var/log/saにsaXXとsarXX (XXは日付)というファイルが作成されます。

saXXの方は/usr/lib64/sa/sa1シェルでデフォルト10分間隔で取得される情報1日分が格納されたバイナリ形式のファイルです。

sarXXの方はsaXXを/usr/lib64/sa/sa2シェルでテキスト形式に変換します。

/usr/lib64/sa/sa1,sa2シェルが/var/log/sa以下に日ごと10分間隔取得でのシステム情報ファイルを作成しています。

sa1,sa2シェルはcronに組まれています。→/etc/cron.d/systatを見ると10分ごとにsa1、23:53にsa2を実行しています。正確にはその日の情報ファイルであるsaXXはその日の23:50に、sarXXはその日の23:53に作成されることが分かります。

ここから本題でこのsaXX,sarXXファイルはいつまで保存されるのでしょうか?それは/etc/sysconfig/sysstat内の
HISTORYに保存期間を教えてやります。

HISTORY=27とか。デフォルトは7日です。

んで、sarファイルをKsarとかでグラフ化してお客さんに報告とかやることもあるんだけどさ。
報告が月次だったらsarファイルを1日から末日までどっかで取得しなければならんと。
HISTORYは日単位指定だから末日変わったらアウトだよと。
まあ保存期間というのも/usr/lib64/sa/sa2の末尾をご覧頂きたい。

find /var/log/sa/ \( -name 'sar  -o -name 'sa  \) -mtime +"$HISTORY" -exec rm -f {} \;

このようにfindさんで削除しています。

なんかHISTORYを28以上にすると次月のsarファイルを上書きしちゃうバグちゃんがあるみたい。
sysstat 7.1.3で修正されたけどね。
参考URL→sysstat – HISTORY=28 以上だと sa ログが2重書き込みされる不具合
修正後は1年でも保存可能だよ!

てか、どうすんの?って話。

まあ1日1回/var/log/sa/sarXX (XXはその日)をどこかにコピーするシェルをcronに組み込ませましたよ。
コピー先はYYYYMMディレクトリが存在しなければ作成するようにしてね。

なんにしてもsysstatを7.1.3以上にすることをオヌヌメするお。