sysstatのインストール

概要

システムの統計情報を収集するためにsysstatパッケージをインストールします。
CentOSの標準リポジトリにあるsysstatは7.0.2と古く、8.0から追加されたpidstatコマンドも使えないので、最新のSRPMをダウンロードしてインストールします。



構成

CentOS release 5.7 (Final)
RPM バージョン 4.4.2.3



SRPMからのインストール

/usr/src/redhat/SRPMSディレクトリにSRPMをダウンロードします。

# wget -P /usr/src/redhat/SRPMS http://pagesperso-orange.fr/sebastien.godard/sysstat-10.0.3-1.src.rpm

リビルドしようとすると次のようなエラーメッセージが表示されました。どうやら配布されているSRPMに問題があるようです。

# rpmbuild --rebuild sysstat-10.0.3-1.src.rpm
sysstat-10.0.3-1.src.rpm をインストール中です。
エラー: アーカイブの伸長に失敗: ファイル /usr/src/redhat/SPECS/sysstat-10.0.3.spec;4f069b14: cpio: MD5 チェックサムが適合しません。
エラー: sysstat-10.0.3-1.src.rpm をインストールできません。

MD5チェックサムの検証をスキップするため、rpmコマンドに--nomd5オプションを付けてSRPMをインストールします。

# rpm -ivh --nomd5 /usr/src/redhat/SRPMS/sysstat-10.0.3-1.src.rpm

rpmbuildコマンドを使って、RPMをリビルドします。--bbオプションはバイナリパッケージのみをビルドする(ソースパッケージはビルドしない)、--cleanオプションは最後にビルドツリーを削除することを意味しています。

# rpmbuild -bb --clean /usr/src/redhat/SPECS/sysstat-10.0.3.spec

リビルド中は多くのメッセージが表示されますが、最後の方で次のようなメッセージが出力されます。これを見るとRPMの作成先を確認できます。

書き込み完了: /usr/src/redhat/RPMS/x86_64/sysstat-10.0.3-1.x86_64.rpm

リビルドされたRPMをインストールします。

# rpm -ivh /usr/src/redhat/RPMS/x86_64/sysstat-10.0.3-1.x86_64.rpm



統計情報の収集

インストールしただけでは統計情報は収集されません。統計情報の収集はcronで実行されます。cronの設定ファイルはすでに作られているのですが、中身がコメントアウトされているので、エディタで開いて編集します。

FILE: /etc/cron.d/sysstat

--- /etc/cron.d/sysstat	2012-01-06 19:44:04.000000000 +0900
+++ /etc/cron.d/sysstat	2012-01-06 19:46:19.000000000 +0900
@@ -1,6 +1,6 @@
 ## Run system activity accounting tool every 10 minutes
-#*/10 * * * * root /usr/lib64/sa/sa1 1 1
+*/10 * * * * root /usr/lib64/sa/sa1 1 1
 ## 0 * * * * root /usr/lib64/sa/sa1 600 6 &
 ## Generate a daily summary of process accounting at 23:53
-#53 23 * * * root /usr/lib64/sa/sa2 -A
-#
+53 23 * * * root /usr/lib64/sa/sa2 -A
+

ちなみに以下の二行は同じ意味なので、どちらかひとつを有効化すればOKです。

*/10 * * * * root /usr/lib64/sa/sa1 1 1
0 * * * * root /usr/lib64/sa/sa1 600 6 &

/etc/cron.d/sysstatでは10分毎に/usr/lib64/sa/sa1を起動して情報を収集しています。収集された情報は/var/log/sa/sa日にバイナリ形式で保存されます。1日の終わり(23:53)には/usr/lib64/sa/sa2を起動し、/var/log/sa/sa日をテキスト形式に変換して/var/log/sa/sar日に保存しています。

統計情報の収集間隔はcronの実行間隔を変更することで変更できます。デフォルトは10分間隔です。



保存期間の変更

統計情報の保存期間は/etc/sysconfig/sysstatのHISTORYで変更できます。デフォルトは7日間です。

--- /etc/sysconfig/sysstat	2012-01-06 20:50:03.000000000 +0900
+++ /etc/sysconfig/sysstat	2012-01-06 20:53:36.000000000 +0900
@@ -3,7 +3,7 @@
 # How long to keep log files (in days).
 # If value is greater than 28, then log files are kept in
 # multiple directories, one for each month.
-HISTORY=7
+HISTORY=365
 
 # Compress (using gzip or bzip2) sa and sar files older than (in days):
 COMPRESSAFTER=10

HISTORYに28より大きな数字を指定すると、記録されるパスが/var/log/sa/sa日(/var/log/sa/sar日)から/var/log/sa/年月/sa日(/var/log/sa/年月/sar日)に変わります。

また、/var/log/sa/sar日は一定期間を経過するとgzipもしくはbzip2で圧縮して保存されます。この期間はCOMPRESSAFTERで変更できます。デフォルトは10日間です。



参考リンク

SYSSTAT