OSWatcher とは

*以下は、サポート契約締結中のお客様に毎月配信しているサポートレターより一部抜粋して掲載しています。

OSWatcher とは

OSWatcher は OS 観点でのパフォーマンスに関連する診断情報を収集し、問題解決を支援するツールです。Oracle Database で使用できる Statspack や、Diagnostics Packに含まれる AWR でも OS の負荷状況をある程度取得可能ですが、パフォーマンス問題の診断としては不足がある場合がございます。DB 観点では Statspack や AWR を使用することで、OS 観点では OSWatcher を使用する事で問題解決のための情報を収集することができます。

OSWatcher の入手方法

最新版の OSWatcher は My Oracle Support のドキュメントID 1509957.1 よりダウンロードできます。

「詳細」に記載の「OSWatcher をダウンロードするにはココをクリック」を押下する事でOSWatcher(oswbb801.tar) がダウンロードできます。ダウンロード後、oswbb801.tar を任意のディレクトリに解凍します。
解凍後、oswbb というディレクトリが作成されます。

OSWatcher の使用方法

OSWathcer による情報収集を開始する場合には、以下スクリプトを実行します。

# oswbb/startOSWbb.sh

これだけで OSWatcher が起動して OS に関する情報を取得するようになります。起動後、oswbb に archive というディレクトリが作成されます。中を確認してみると以下のディレクトリが作成されている事が分かります。

  • oswifconfig  -> ifconfig 出力結果が格納されます。
  • oswiostat  -> iostat 出力結果が格納されます。
  • oswmeminfo  -> /proc/meminfo の内容が格納されます。
  • oswmpstat  -> mpstat出力結果が格納されます。
  • oswnetstat  -> netstat 出力結果が格納されます。
  • oswprvtnet  -> RAC のプライベート・ネットワーク・トレースを有効にしている場合、プライベート・ネットワークのステータスに関する情報が格納されます。
  • oswps  -> ps 出力結果が格納されます。
  • oswslabinfo  -> /proc/slabinfo の内容が格納されます。
  • oswtop  -> top 出力結果が格納されます。
  • oswvmstat  -> vmstat 出力結果が格納されます。

また、RAC 環境では traceroute も加えて取得するようになっております。

OSWatcher はデフォルトで 30 秒毎に情報収集を行い、直近2日間の情報を/oswbb/archive に格納しております。
情報収集の間隔や保存期間は、引数を指定して startOSWbb.sh を実行する事で設定を変えることができます。

oswbb/startOSWbb.sh [取得間隔] [保存期間] [圧縮方式] [出力先ディレクトリ]

例)

# oswbb/startOSWbb.sh 60 72 zip /var/log/osw/archive

上記の例であれば、60秒毎に情報収集を行い、直近 3 日間の情報を保存、zip 形式での圧縮、/var/log/osw/archive への出力を行います。
OSWathcer による情報収集を終了する場合には、以下スクリプトを実行します。

# oswbb/stopOSWbb.sh

OSWatcher の応用方法

上記より OS 関連の情報を取得することができるようになりますが、このままだとtop コマンドや vmstat コマンド結果履歴を一つひとつ確認する必要が出てしまいます。
OSWatcher には Java を使用する事でグラフ形式で OS 状況を確認する機能があります。

OSWatcher の取得結果をグラフ形式で表示するには以下コマンドを実行します。

※ Tera Term 等の CUI ツールを使用する場合には X Window を表示できる環境が必要となります。

# LANG=C
# java -jar oswbba.jar -i /home/oracle/oswbb/archive/

上記実行後、以下のようにアクションを選択するようにメッセージが出力されます。本来のメッセージにインラインで説明を加えてあります。

Enter 1 to Display CPU Process Queue Graphs
Enter 2 to Display CPU Utilization Graphs
Enter 3 to Display CPU Other Graphs
Enter 4 to Display Memory Graphs
Enter 5 to Display Disk IO Graphs

-> 1~5 を入力することで CPU やメモリ、ディスクの使用状況をグラフとして表示します。表示したグラフを閉じるには R を指定します。

Enter GC to Generate All CPU Gif Files
Enter GM to Generate All Memory Gif Files
Enter GD to Generate All Disk Gif Files
Enter GN to Generate All Network Gif Files

-> 上記 4 つのいずれかを入力することで、グラフを gif ファイルとして保存します。保存先ディレクトリは /oswbb/gif となります。

Enter A to Analyze Data

-> OSWatcher の取得情報から分析した結果を /oswbb/analysis 配下に出力します。
出力結果は txt 形式で出力され、細かく分析結果が記載されております。

Enter S to Analyze Subset of Data(Changes analysis dataset including graphtime scale)

-> A 選択時と同様の機能となりますが、こちらは時間を指定することで一定期間の分析結果を出力します。

Enter D to Generate DashBoard

-> /oswbb/analysis/._<取得期間>/dashboard 配下に出力される index.html にアクセスすることでダッシュボード形式でグラフを確認することができます。

Enter L to Specify Alternate Location of Gif Directory
Enter T to Alter Graph Time Scale Only (Does not change analysis dataset)
Enter B to Return to Default Baseline Graph Time Scale
Enter R to Remove Currently Displayed Graphs
Enter X to Export Parsed Data to File
Enter Q to Quit Program

-> gif の出力先設定や、表示しているグラフを閉じたりと、OSWatcher 関連の操作となります。

まとめ

OSWathcer は自動で OS 情報を取得するだけでなく、グラフとして表示したり、取得情報を分析する事が可能となっており、ユーザーの OS 情報解析に役立つ機能を備えたツールとなっています。
OS 観点では OSWatcher、DB 観点では Statspack や AWR を使用することでパフォーマンス遅延に関する問題等の解析が容易になりますので是非ご使用下さい。
Exadata では OSWatcher に加え、Exadata 固有の情報も取得する ExaWatcher というツールがございます。Exadata をご使用、または、ご検討頂いている場合には ExaWatcherを使用する事をおすすめいたします。

(オラクル事業部 サポート・サービス担当 佐藤)

OSWatcher とは