2010年12月25日土曜日

CentOS 5 の sysstat の採取周期を 1 分毎に変更

CentOS 5 のデフォルトの sysstat 採取周期は 10 分になっているが、これだとアラ過ぎると感じることがあるので、自分の管理しているサーバでは 1 分周期に変更している。

デフォルトの /etc/cron.d/sysstat は、次のようになっている。
# run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A
これを、次のように変更する。
# run system activity accounting tool every 1 minutes
*/1 * * * * root /usr/lib64/sa/sa1 1 1
# generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A
もちろん、格納ファイル (/var/log/sa/saXX, XX は日付) のサイズは 10 倍になるのだが、デフォルトの 10 分間隔で、500 KB/日 程度のものなので、今の大容量時代では、10 倍になったところで取るに足りない。過去 7日分 (/etc/sysconfig/sysstat の HISTORY で指定) として、5MB x 7 = 35 MB ほど。

sar のデータをグラフ化する場合などに、10 分毎のサンプルのほうが都合がいいこともあるかもしれないが、そのような場合は、sar -i オプションを使えばいい。

# sar -f /var/log/sa/sa25 | head -35
Linux 2.6.18-194.26.1.el5 (my41)        12/25/2010

12:00:01 AM       CPU     %user     %nice   %system   %iowait    %steal     %idle
12:01:01 AM       all      0.05      0.00      0.12      0.01      0.00     99.82
12:02:01 AM       all      0.04      0.00      0.16      0.00      0.00     99.80
12:03:01 AM       all      0.17      0.00      0.32      0.01      0.00     99.51
12:04:01 AM       all      0.04      0.00      0.13      0.00      0.00     99.83
12:05:01 AM       all      0.06      0.00      0.17      0.00      0.00     99.77
12:06:01 AM       all      0.03      0.00      0.15      0.00      0.00     99.82
12:07:01 AM       all      0.11      0.00      0.25      0.00      0.00     99.64
12:08:01 AM       all      0.32      0.00      0.32      0.00      0.00     99.35
12:09:01 AM       all      0.32      0.00      0.20      0.00      0.00     99.48
12:10:01 AM       all      0.03      0.00      0.14      0.00      0.00     99.83
12:11:01 AM       all      0.04      0.00      0.20      0.00      0.00     99.76
12:12:01 AM       all      0.04      0.00      0.14      0.01      0.00     99.81
12:13:01 AM       all      0.13      0.00      0.22      0.00      0.00     99.65
12:14:01 AM       all      0.04      0.00      0.17      0.00      0.00     99.79
12:15:01 AM       all      0.06      0.00      0.15      0.00      0.00     99.79
12:16:01 AM       all      0.04      0.00      0.09      0.00      0.00     99.87
12:17:01 AM       all      0.12      0.00      0.28      0.00      0.00     99.60
12:18:01 AM       all      0.07      0.00      0.12      0.00      0.00     99.81
12:19:01 AM       all      0.14      0.00      0.23      0.00      0.00     99.63
12:20:01 AM       all      0.05      0.00      0.15      0.00      0.00     99.80
12:21:01 AM       all      0.04      0.00      0.15      0.00      0.00     99.81
12:22:01 AM       all      0.05      0.00      0.13      0.00      0.00     99.82
12:23:01 AM       all      0.13      0.00      0.26      0.00      0.00     99.61
12:24:01 AM       all      0.06      0.00      0.14      0.00      0.00     99.80
12:25:01 AM       all      0.04      0.00      0.12      0.00      0.00     99.84
12:26:01 AM       all      0.05      0.00      0.16      0.00      0.00     99.79
12:27:01 AM       all      0.13      0.00      0.24      0.00      0.00     99.63
12:28:01 AM       all      0.06      0.00      0.17      0.00      0.00     99.77
12:29:01 AM       all      0.09      0.00      0.19      0.01      0.00     99.70
12:30:01 AM       all      0.03      0.00      0.13      0.00      0.00     99.83
12:31:01 AM       all      0.07      0.00      0.20      0.00      0.00     99.73
12:32:01 AM       all      0.04      0.00      0.14      0.00      0.00     99.82

# sar -i 600 -f /var/log/sa/sa25 | head -6          ※-i オプションで 600秒=10分 指定
Linux 2.6.18-194.26.1.el5 (my41)        12/25/2010

12:00:01 AM       CPU     %user     %nice   %system   %iowait    %steal     %idle
12:10:01 AM       all      0.12      0.00      0.20      0.00      0.00     99.68
12:20:01 AM       all      0.07      0.00      0.18      0.00      0.00     99.75
12:30:01 AM       all      0.07      0.00      0.17      0.00      0.00     99.76

下記も参照ください。
CentOS 5 の sysstat のデフォルトではディスクアクセス統計が採取されない

2013-02-06追記
sar -i は、少々バグっているバージョンがあるようなので、ご注意を。基本、最新使うべし!

2017-06-14追記
sa1 と sa2 が同時に動くとエラーになる場合がある。回避方法。
# run system activity accounting tool every 1 minutes
*/1 * * * * root /usr/lib64/sa/sa1 1 1
# generate a daily summary of process accounting at 23:53
53 23 * * * root sleep 20;/usr/lib64/sa/sa2 -A
sa2 を動かす必要あるかな?とも思うのだが。

2010年12月23日木曜日

CentOS 5 の sysstat のデフォルトではディスクアクセス統計が採取されない

CentOS 5 の sysstat のデフォルトではディスクアクセス統計(sar -d)が採取されませんが、サーバ運用をしている人は、ときおりデータを見たい場合があるのではないでしょうか?

デフォルトの /etc/cron.d/sysstat は次のようになっています。
# run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A
デフォルトのまま、sar -d すると、データが利用できませんとのメッセージが表示されます。
# sar -d
Requested activities not available in file
もしディスクアクセス統計を採取したい場合は、/etc/cron.d/sysstat を次のように変更します。ついでに、採取頻度を1分毎に変更しています。10分毎ではアラ過ぎと思う。
# run system activity accounting tool every 10 minutes
*/1 * * * * root /usr/lib64/sa/sa1 -d 1 1
# generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A
ただし、変更が有効に働くのは次の日からです。1日の途中で、/var/log/sa/saXX に項目が増えても認識してくれないようです。もちろん、消していいのなら、無理やり /var/log/sa/saXX を消せば、上記の設定が反映されたことを確認できます。ディスクアクセス統計が有効になれば、次のような出力を得ることができます。

# sar -d -p    ※ディスクデバイス名を分かりやすく表示するには -p オプションをつけます
Linux 2.6.18-194.26.1.el5 (my41)        12/23/2010

11:29:01 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
11:30:01 AM       sda      2.72      0.00     52.78     19.44      0.00      0.76      0.15      0.04
11:30:01 AM      sda1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:30:01 AM      sda2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:30:01 AM      sda3      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:30:01 AM      sda4      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:30:01 AM      sda5      2.72      0.00     52.78     19.44      0.00      0.76      0.15      0.04
11:30:01 AM      sda6      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:30:01 AM      sda7      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:30:01 AM      sda8      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:30:01 AM      sda9      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
なお、CentOS 4 だと、デフォルトでディスクアクセス統計も採取されます。また、まだ出ていませんが、CentOS 6 でもデフォルト採取されるものと思います。ベースの RHEL6 のデフォルトの /etc/cron.d/sysstat は次のようになっており、ディスクアクセス統計も採取されるようになっています。
# Run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 -S DISK 1 1
# 0 * * * * root /usr/lib64/sa/sa1 -S DISK 600 6 &
# Generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A
RHEL6 では、オプションが変わって(-d → -S DISK)しまっています。OSS の世界では、"進化のためには非互換変更もやっちゃいます"というわけでしょうし、進化も歓迎なのですが、OSS を商売にする人(わたしも)にとっては、非互換というのは面倒・トラブルのもとですね。

2010年12月18日土曜日

CentOS 5.5 の dump/restore コマンドは ext4 に非対応

CentOS 5.5 では ext4 が使えますが、1つ注意点として、dump/restore コマンドが非対応になっています。ベースの RHEL5 では、技術的理由から dump/restore の ext4 対応はしないと言っていますので、今後もおそらく対応されることはないと考えられます。バックアップに dump/restore を使うつもりで、あてが外れないようにご注意を。まあ、バックアップツールは他にも多数あるんですが・・・

https://bugzilla.redhat.com/show_bug.cgi?id=444534

2011-03-26追記
RHEL6 の dump/restore は ext4 にも対応しているので、未だリリースされませんが、CentOS 6 では ext4 に対応するはずです。もし、CentOS 5.5 以降で ext4 を使っている場合で、システムバックアップを採るということなら、CentOS 6 の iso イメージから rescue モードで起動すればいいだろうと思います。
人気ブログランキングへ にほんブログ村 IT技術ブログへ