モニタモードのプログラム管理機能を使用してUAPを監視する場合,HAモニタが提供するAPIをUAPから発行するために,UAPのソースコードを編集する必要があります。ここでは,UAPへのAPIの組み込みについて説明します。
次に示すすべての項目に該当するUAPでAPIを使用できます。
HAモニタでは,UAPがAPIを発行するために次のファイルを提供します。
表6-11 APIを発行するためにHAモニタが提供するファイル
名称 | ファイルの格納パス | 説明 |
---|---|---|
ヘッダファイル | /opt/hitachi/HAmon/api/include/HA_mon_uap.h | APIを使用するために必要なヘッダファイルです。 |
APIのオブジェクトファイル | /opt/hitachi/HAmon/api/lib/hamon_api32.a | APIを使用するためにUAPに静的にリンクが必要なオブジェクトファイルです。32ビット環境で動作するUAP用です。 |
/opt/hitachi/HAmon/api/lib/hamon_api64.a | APIを使用するためにUAPに静的にリンクが必要なオブジェクトファイルです。64ビット環境で動作するUAP用です。 | |
APIの共有ライブラリファイル※ | /opt/hitachi/HAmon/api/lib/hamon_api32.so | UAPの実行時に動的に使用するAPIライブラリファイルです。32ビット環境で動作するUAP用です。 |
/opt/hitachi/HAmon/api/lib/hamon_api64.so | UAPの実行時に動的に使用するAPIライブラリファイルです。64ビット環境で動作するUAP用です。 |
C言語を使用してUAPを作成します。UAPには,HAモニタが提供するAPIを記述します。
また,UAPのスローダウン時に実行するシェルで解析できるように,システムコールやSQLなどの関数の発行前後にトレース情報を取得する処理を記述してください。メモリ上にトレース情報を取得し,coreから解析する方法やメッセージを出力する方法が有効です。
APIを記述したUAPのソースファイルは,gccコマンドでコンパイルします。
コンパイル時に必須のオプションを,次の表に示します。
表6-12 コンパイル時に必須のオプション
オプション | 意味 |
---|---|
-o | 作成するバイナリのファイル名を指定します。 |
-I/opt/hitachi/HAmon/api/include | ヘッダファイルのパスを指定します。 |
-L/opt/hitachi/HAmon/api/lib | 共有ライブラリのパスを指定します。 |
-Wl,-Bdynamic | リンカに「動的ライブラリに対してリンクする」ことを伝えます(デフォルト値であるため,指定しなくても指定時と同じ結果になります)。 |
-ldl | dlopen関数などのライブラリを使用します。 |
次に,コンパイル時の例について,64ビット環境と32ビット環境に分けて示します。
gcc△-o△sample△-I/opt/hitachi/HAmon/api/include△-L/opt/hitachi/HAmon/api/lib△sample.c△/opt/hitachi/HAmon/api/lib/hamon_api64.a△-Wl,-Bdynamic△-ldl |
gcc△-o△sample△-I/opt/hitachi/HAmon/api/include△-L/opt/hitachi/HAmon/api/lib△sample.c△/opt/hitachi/HAmon/api/lib/hamon_api32.a△-Wl,-Bdynamic△-ldl |