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