SUSE Linux Enterprise Plus FAQ

システム管理に関するFAQ-11

Q.

sysstat の導入と sar コマンドによるモニタリングについて教えてください。

A.

sysstat パッケージの導入方法や sar コマンドによるモニタリングについて、以下をご確認ください。

(目次)

1. sysstat について

2. sysstat のインストール

3. sysstat の設定と仕組み

4. sar コマンドによるリソース確認

  4-1. メモリとスワップの確認

  4-2. CPU の確認

  4-3. I/O の確認

  4-4. ブロックデバイスの確認

  4-5. ロードアベレージの確認

  4-6. ネットワークデバイスの確認

  4-7. NFS の確認

  4-8. 時間範囲を指定して確認

(内容)

---------------------------------------------------------------------------------
 1.sysstat について
---------------------------------------------------------------------------------

sysstat パッケージは、システムリソースを監視する機能やツールを提供します。

sysstat パッケージを導入することで、システムのリソース状況を定期的に自動で保存することが可能となります。また、sar コマンドや iostat コマンドなどのモニタリングツールも利用可能となります。

日々システムリソースをモニタリングして情報を取得しておく事は、突然のトラブル時の解析情報や、トラブルを未然に防ぐ為の参考情報となり、有用です。

もし、sysstat パッケージを導入されていない場合は、システム要件をご確認のうえ、導入をご検討ください。

---------------------------------------------------------------------------------
 2.sysstat のインストール
---------------------------------------------------------------------------------

sysstat パッケージがインストールされていない場合は、 下記 URL の情報を参考に当該パッケージをインストールします。

http://www.sios.com/product/suse/usersite/faq/faq_ins2.html
http://www.sios.com/product/suse/usersite/faq/faq_ins3.html

---------------------------------------------------------------------------------
 3.sysstat の設定と仕組み
---------------------------------------------------------------------------------

sysstat は、デフォルトでサービスが停止しているため、sysstat パッケージをインストールした後にサービスを自動起動する設定の必要があります。なお、サービス起動後に設定をするべき項目は、特にありません。

# chkconfig sysstat on
# service sysstat start

インストール後にサービスを起動すると、/etc/sysstat/sysstat.cron に対してシンボリックリンク(/etc/cron.d/sysstat) が作成されます。これにより、cronによる自動実行で、システムリソース情報が /var/log/sa/ 配下に保存されます。

なお、収集したリソース情報のファイルは、デフォルトで 7日間分保存されます。
※ 後述の [※補足] 参照

/etc/sysstat/sysstat.cron の内容を元に sysstat の仕組みを解説します。

(解説)

/etc/sysstat/sysstat.cron では以下の cron の定義がされています。

============ /etc/sysstat/sysstat.cron ==================
#activity reports every 10 minutes everyday
-*/10 * * * * root /usr/lib/sa/sa1 ---------------- (A)

#update reports every 6 hours
0 */6 * * * root /usr/lib/sa/sa2 -A ------------- (B)
====================================================

* 64bit の場合は、それぞれ以下のファイルパスになります。
- /usr/lib64/sa/sa1
- /usr/lib64/sa/sa2

各ライン (A) (B) で実行される内容は以下の通りです。

(A) --- 10 分おきに指定されているスクリプトが実行され、当該スクリプトにより、/usr/lib/sa/sadc を実行してシステム情報を収集していま す。これがメインの処理となります。

(A) のスクリプトにより作成されたファイルはバイナリファイルです。確認するためには、以下のように sar コマンドを利用します。

(例: ある月の 5日の状況を確認する場合)
# sar -A -f /var/log/sa/sa05

(B) --- 6 時間毎に実行されます。これは、(A) のスクリプトにより作成された saXX バイナリファイルのレポートをテキストファイルに変換します。この際に作成されるファイル名は、sarXX となります。

(例: ある月の12日のレポート)
-rw-r--r-- 1 root root 198866 Jan 12 18:00 sar12

[※補足]

(B) のスクリプト実行内容は、処理の最後に /var/log/sa 配下で一定期間経過した過去のファイルが削除されるように設定されています。

デフォルトでは 7日間分のファイルが保存されるようになっております。この期間を変更するには、 /etc/sysstat/sysstat ファイルにある HISTORY= パラメータの値を変更します。

====== /etc/sysstat/sysstat ====================
# 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 <-- 修正する場合はここを変更します
============================================

---------------------------------------------------------------------------------
 4.sar コマンドによるリソース確認
---------------------------------------------------------------------------------

sar コマンドは、 下記のように /var/log/sa 配下のバイナリファイルを -f オプションで指定すると、過去の情報が確認できます。ファイルを指定しない場合は、当日の saXX ファイルが参照されます。

また、sar コマンドの引数に [秒], [カウント] を渡すと、現時点から任意のタイミングでリソース情報をモニタリングすることができます。

[sar コマンドの基本書式]

<過去の情報を確認>
# sar [オプション] -f /var/log/sa/saXX

(例: ある月の 5日の状況を確認する場合)
# sar -f /var/log/sa/sa05

<現在の情報をモニタリング>
# sar [オプション] [秒] [カウント]

(例: 1秒間に 10回確認する場合)
# sar 1 10

sar コマンドには多くのオプションが用意されており、オプションを切り替えることで、様々な任意のリソース情報が確認できます。 以下に主な sar コマンドのオプションによる実行例を記載しましたので、ご参照ください。

各オプション詳細につきましては、SAR(1)("# man sar") 等のオンラインマニュアルを合わせてご参照ください。

---------------------------------------------------------------------------------
 4-1.メモリとスワップ情報の確認
---------------------------------------------------------------------------------

<実行例>

# sar -r 1 10

---------------------------------------------------------------------------------
 4-2. CPU 情報の確認
---------------------------------------------------------------------------------

<実行例>

# sar -u 1 10

---------------------------------------------------------------------------------
 4-3. I/O 情報の確認
---------------------------------------------------------------------------------

<実行例>

# sar -b 1 10

---------------------------------------------------------------------------------
 4-4. ブロックデバイス情報の確認
---------------------------------------------------------------------------------

<実行例>

# sar -d -p 1 10

<補足>

"-p" オプションをつけることでデバイス名が分かりやすく表示されます。

---------------------------------------------------------------------------------
 4-5. ロードアベレージ情報の確認
---------------------------------------------------------------------------------

<実行例>

# sar -q 1 10

<補足>

runq-sz が大きいと、処理待ちのプロセスが発生していることを意味します。

---------------------------------------------------------------------------------
 4-6. ネットワークデバイス情報の確認
---------------------------------------------------------------------------------

<実行例>

# sar -n DEV 1 10

<補足>

sar -n EDEV とするとネットワークのエラー情報が確認できます。

---------------------------------------------------------------------------------
 4-7. NFS 情報の確認
---------------------------------------------------------------------------------

<実行例>

# sar -n NFS 1 10 (NFS クライアントの確認) # sar -n NFSD 1 10 (NFS サーバーの確認)

---------------------------------------------------------------------------------
 4-8. 時間範囲を指定して確認
---------------------------------------------------------------------------------

<実行例>

# sar -b -s 10:00:00 -e 12:30:00 -f /var/log/sa/sa05

<補足>

-s と -e オプションで時間範囲を指定して確認することができます。時間は "hh:mm:ss" で指定します。これは、過去の特定の時間を確認する際に便利です。上記例の場合、ある月の 5日 10:00 から 12:30 の間の I/O を確認しています。


前のページへ戻る

ページトップへ戻る

サイオステクノロジー株式会社

CopyrightcSIOS Technology, Inc. All Rights Reserved

プライバシーマーク