この記事は公開から1年以上が経過しています。内容が古い場合があるのでご注意下さい。

Linuxのパフォーマンスモニタとしては、色々とありますが、SYSSTATはインストールも簡単で、かなり細かい情報まで収集してくれます。
ということで、今回は、AWSのCentOS(6.4)にインストールしてみました。

概要

SYSSTATはサーバのリソース情報をバイナリで収集、管理するツールです。
情報の種類としては、CPUやメモリ使用率、トラフィック量、ディスクI/Oなど様々な情報が取得できます。

インストール方法

インストールはyumでインストールするだけで非常に簡単です。

# yum -y install sysstat

Installed:
sysstat.x86_64 0:9.0.4-20.el6

使い方

インストールが完了すると10分毎にシステム状態のデータを自動的に記録するようになります。
これはインストール時に、sysstatのcron設定が入る為です。

取得したデータの確認は「sar」コマンドを実行するだけです。

# sar
Linux 2.6.32-358.el6.x86_64 (host-name)    10/04/2013  _x86_64_       (1 CPU)

04:07:02 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
04:10:01 AM     all      0.01      0.00      0.06      0.02      0.00     99.92
Average:        all      0.01      0.00      0.06      0.02      0.00     99.92

というように表示が出ます。

オプション

オプションは多岐に渡ります。

-A
全ての情報を表示します。

-b
ディスクI/Oに関する情報を表示します。

-n DEV
ネットワーク転送量を表示します。
EDEVはエラーとなったものを表示します。

-u
CPU使用率に関する情報を表示します。

-r
メモリ使用率に関する情報を表示します。

-f
読み込むファイルを指定します。

# sar -f /var/log/sa/sa05

とすると当月の05日のデータを読み込んで表示します。

また、オプションを組み合わせて日付指定で、特定項目の表示を行うことも出来ます。

# sar -r -f /var/log/sa/sa05

とすれば、5日のメモリ状況を表示します。

データファイル

記録されたデータは「/var/log/sa/」以下に、作成されます。
データは2種類で、「saXX」「sarXX」というファイルです。

この内、sarXXXというファイルはテキストデータで、lessなどのページャで見ることが出来ます。
saXXというファイルはバイナリデータのため、sarコマンドで参照します。

設定

記録間隔

デフォルトでは、データの記録間隔は10分間隔になっています。
これを変更する場合は、cronの設定を編集します。

sysstatをインストールすると、以下のように自動的にsysstatのcron設定が追加されます。

# cat /etc/cron.d/sysstat

# Run system activity accounting tool every 10 minutes
*/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

「/usr/lib64/sa/sa1」コマンドが10分間隔で実行されているのが分かります。
このコマンドが各種データを収集している訳ですが、この設定を変えることで記録間隔を変えることができます。

ちなみに、「/usr/lib64/sa/sa2」コマンドが23時53分に毎日実行されることも分かりますが、これによりsaXXXファイルからsarXXXのテキストに変換が行われています。

記録の保持期間

デフォルトでは、収集した記録は7日間しか保存しません。
8日よりも前の記録は削除され、見ることが出来ません。
この期間を変更する場合は、「/etc/sysconfig/sysstat」を修正します。

# cat /etc/sysconfig/sysstat

# sysstat-9.0.4 configuration file.
# 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

# Compress (using gzip or bzip2) sa and sar files older than (in days):
COMPRESSAFTER=10

# Parameters for the system activity data collector (see sadc manual page)
# which are used for the generation of log files.
SADC_OPTIONS="-S DISK"

「HISTORY=7」となっているところを変更することで記録の保持期間を変えられます。
また、28日以上に設定した場合、記録されるファイルのパスが変更されます。

変更後のファイルパスは以下のようになります。
/var/log/sa/年月/saXX (あるいは /var/log/sysstat/年月/saXX)
/var/log/sa/年月/sarXX (あるいは /var/log/sysstat/年月/sarXX)

ファイルの圧縮

指定日以上古いデータは、gzipまたはbzip2にて圧縮されます。
デフォルトでは10日ですが、記録の保持期間と同じファイルを編集することで変更が可能です。

# cat /etc/sysconfig/sysstat

# sysstat-9.0.4 configuration file.

# 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

# Compress (using gzip or bzip2) sa and sar files older than (in days):
COMPRESSAFTER=10

# Parameters for the system activity data collector (see sadc manual page)
# which are used for the generation of log files.
SADC_OPTIONS="-S DISK"

「COMPRESSAFTER=10」となっているところを希望の値に変更すればOKです。

関連記事:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です