OSS Fan ~OSSでLinuxサーバ構築~

作成日: 2013/09/12

OSSでLinuxサーバ構築

システム活動情報を自動で収集

トップページOSSでLinuxサーバ構築 > システム活動情報を自動で収集
このエントリーをはてなブックマークに追加

構成

解説

 sysstat パッケージの機能を使用して実装します。 Linuxのシステム活動情報、例えばCPU使用率やメモリ使用量、ディスクI/Oなどの 情報を自動で収集し、バイナリファイルに記録します。 Linuxが起動している間は継続して情報を収集し、1日の最後で 日次レポートとしてテキスト形式のファイルを生成します。

サーバ構成

OSバージョン

Red Hat Enterprise Linux 5.9 x86_64

パッケージ一覧

sysstat-7.0.2-12.el5.x86_64.rpm

サーバ構築

インストール

 RHEL5.9のインストールメディアをDVD-ROMドライブに挿入し、以下のコマンドを実行します。

# mount /dev/cdrom /media/cdrom
mount: ブロックデバイス /dev/cdrom は書き込み禁止です、読込み専用でマウントします
# cd /media/cdrom/Server/
# rpm -ihv sysstat-7.0.2-12.el5.x86_64.rpm
警告: sysstat-7.0.2-12.el5.x86_64.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 37017186
準備中...                ########################################### [100%]
   1:sysstat                ########################################### [100%]
# cd /
# umount /dev/cdrom

設定

 設定は特にありません。 sysstat パッケージをインストールすると、必要なファイルが配置され、 cronから自動で実行されるようになります。

動作テスト

 sysstat パッケージをインストール後、最低でも5分以上経過した後に、 システム活動情報が収集されたことを確認します。 できればインストール後、日にちが変わってから確認した方が確実です。 収集されたシステム活動情報は /var/log/sa/ ディレクトリに格納されています。

# ls -l /var/log/sa/
合計 28
-rw-r--r-- 1 root root  1768  9月 11 23:50 sa11
-rw-r--r-- 1 root root 17048  9月 12 01:40 sa12
-rw-r--r-- 1 root root    46  9月 11 23:53 sar11

 saXX というファイルと sarXX という2種類のファイルがあります。 saXX は収集中のシステム活動情報のバイナリデータで、 sarXX は saXX を元にテキスト形式に変換された日次レポートです。 ちなみにファイル名の XX は収集した日が2桁で付与されます。 9月11日に収集された情報は sa11(取得中のバイナリデータ) と sar11(日次レポートのテキストデータ) です。

利用方法

 簡単なのは日次レポートに変換された sarXX ファイルを見ることです。

# cat /var/log/sa/sar11
Linux 2.6.18-348.el5 (postgresql)       2013年09月11日

00時00分01秒    proc/s
00時10分01秒      0.04
00時20分01秒      0.03
00時30分01秒      0.03
00時40分01秒      0.04
(後略)

 ただし、収集された全システム活動情報を元にレポートが作成されるため、 1日分となるとかなりの量になります。これでは必要な情報を見つけるにも 一苦労なので、自分で必要な情報だけをレポートとして出力することができます。

 たとえば、12日のCPUの使用率の推移だけを見たい場合は以下のように実行します。

# sar -u -f /var/log/sa/sa12
Linux 2.6.18-348.el5 (postgresql)       2013年09月12日

00時00分01秒       CPU     %user     %nice   %system   %iowait    %steal     %idle
00時10分01秒       all      0.00      0.00      0.05      0.02      0.00     99.93
00時20分01秒       all      0.00      0.00      0.05      0.00      0.00     99.94
(中略)
平均値:        all      0.00      0.03      0.07      0.41      0.00     99.49

 12日のメモリ使用量の推移だけを見たい場合は以下のように実行します。

# sar -r -f /var/log/sa/sa12
Linux 2.6.18-348.el5 (postgresql)       2013年09月12日

00時00分01秒 kbmemfree kbmemused  %memused kbbuffers  kbcached kbswpfree kbswpused  %swpused  kbswpcad
00時10分01秒   1734576    324188     15.75     20716    204224   2097144         0      0.00         0
00時20分01秒   1733708    325056     15.79     21628    204228   2097144         0      0.00         0
00時30分01秒   1732716    326048     15.84     22544    204236   2097144         0      0.00         0
(中略)
平均値:    1670119    388645     18.88     38293    227449   2097144         0      0.00         0

 最後の行に取得した情報の平均値が出力されます。

 上記のように自身で必要なレポートを出力する際には、 saXX ファイル(バイナリデータ)の方を使用します。 sarXX ファイルを指定するとエラーになります。

 なお、レポートは当日まだ活動情報を収集中の状態でも作成できます。

 様々な情報が収集されていますので、レポートとして出力可能な情報は man sar コマンドで表示されるマニュアルを参考にしてください。

プロフィール

らのっち

損害保険会社のIT企画部に勤務するSEです。OSSを勉強中です。

<所属>
日本PostgreSQLユーザ会とくしまOSS普及協議会

■■■ 当サイトは Internet Explorer 11 と Mozilla Firefox 43 で動作確認済みです。 ■■■