機能説明
【Windows版】
Mp_OpenEvent()発行後、Mp_ReadEvent()関数とMp_GetEventMap()関数を組み合わせて発行することにより、監視イベントを1イベントずつ読み出します。
Mp_ReadEvent()関数は、Systemwalker Centric Managerに対して、イベントの受信を要求してすぐに呼び出し元に戻ります。
【UNIX版】
Mp_OpenEvent()発行後、Mp_ReadEvent()関数を発行することにより、監視イベントを1イベントずつ読み出します。
呼び出し形式
【Windows版】
#include <mp_opmgr_api.h> BOOL Mp_ReadEvent( fp, buf, rlen, olr ); HANDLE fp; /* ハンドルを指定する */ char *buf; /* データ格納領域のアドレスを指定する */ DWORD *rlen; /* 読み取りバイト数格納領域のアドレスを指 */ /* 定する */ OVERLAPPED *olr; /* OVERLAPPED構造体のアドレスを指定する */
【UNIX版】
#include <mp_opmgr_api.h> int Mp_ReadEvent( fp, hisnum, status, category, timerec, logtime, nodename, NodeID, DatabaseID, folder, application, dealer, eventtext, level, evttype, jobnum, memo, chgstime, chgetime, IPaddr, reserve, rddatatyp ); int fp; /* Mp_OpenEvent()で獲得したファイ*/ /* ル記述子 */ long *hisnum; /* 監視イベント番号格納領域のアド*/ /* レスを指定する */ unsigned long *status; /* イベントの状態格納領域のアドレ*/ /* スを指定する */ char *category; /* 監視イベントの種別格納領域のア*/ /* ドレスを指定する */ time_t *timerec; /* イベント発生日時格納領域のアド*/ /* レスを指定する */ time_t *logtime; /* イベントのロギング日時格納領域*/ /* のアドレスを指定する */ char *nodename; /* ノード名格納領域のアドレスを指*/ /* 定する */ unsigned long *NodeID; /* リザーブ領域 */ unsigned long *DatabaseID; /* リザーブ領域 */ char *folder; /* フォルダ名格納領域のアドレスを*/ /* 指定する */ char *application; /* 表示名格納領域のアドレスを格納*/ /* する */ char *dealer; /* 対応者格納領域のアドレスを格納*/ /* する */ char *eventtext; /* イベントテキスト格納領域のアド*/ /* レスを指定する */ unsigned long *level; /* イベントの重要度レベル格納領域*/ /* のアドレスを指定する */ unsigned long *evttype; /* イベントの属性格納領域のアドレ*/ /* スを指定する */ char *jobnum; /* ジョブ番号格納領域のアドレスを*/ /* 指定する */ char *memo; /* メモ格納領域のアドレスを指定す*/ /* る */ time_t *chgstime; /* イベントの対処開始日時格納領域*/ /* のアドレスを指定する */ time_t *chgetime; /* イベントの対処終了日時格納領域*/ /* のアドレスを指定する */ unsigned int *IPaddr; /* IPアドレス格納領域のアドレスを*/ /* 指定する */ unsigned char *reserve; /* 予約格納領域のアドレスを指定す*/ /* る */ unsigned long *rddatatyp; /* イベントデータの種類格納領域の*/ /* アドレスを指定する */
パラメタ
【Windows版】
Mp_OpenEvent()で獲得したハンドルを指定します。
受信データを格納する領域アドレスを指定します。
MPOP_EVTDATAREADLENバイト分呼び出し元で準備します。
実際に読み取ったバイト数を格納する領域のアドレスを指定します。
イベント受信の非同期I/Oで使用するOVERLAPPED構造体のアドレスを指定します。
【UNIX版】
Mp_OpenEvent()で獲得したファイル記述子を指定します。
監視イベントの発生順序を示す、監視イベント番号が格納されます。
監視イベントに対する対処の状況が格納されます。
このパラメタには、以下の値のどれかが格納されます。
監視イベントの状態は“未対処”または“未確認”
監視イベントの状態は“保留”
監視イベントの状態は“調査中”
監視イベントの状態は“対処済”
監視イベントの状態は“返答済”
発生した監視イベントの種別が格納されます。
MPOP_CATEGORYLENバイト分呼び出し元で準備します。
被監視システムで、イベントが発生した日時が格納されます。
ただし、日時が正しく獲得できなかった場合は、以下のように値が設定されています。
0x00FFFFFF
0x00hhmmss
時(0x00~0x17)
分(0x00~0x3B)
秒(0x00~ox3B)
監視イベントがイベントログに格納された日時が格納されます。日付、時刻が獲得できない場合、または日付だけ獲得できない場合は、timerecと同様の設定になります。
監視イベントが発生したシステムのノード名が格納されます。
MPOP_NODENAMELENバイト分呼び出し元で準備します。
リザーブ領域。
リザーブ領域。
監視イベントが発生したシステムのフォルダ名が格納されます。
MPOP_FOLDERLENバイト分呼び出し元で準備します。
監視イベントが発生したシステムの表示名が格納されます。
MPOP_APPLICATIONLENバイト分呼び出し元で準備します。
監視イベントに対応した人の名前が格納されます。
MPOP_DEALERLENバイト分呼び出し元で準備します。
発生したイベントテキストが格納されます。
MPOP_EVENTLENバイト分呼び出し元で準備します。
監視イベントの重要度レベルが格納されます。
このパラメタには、以下の値のどれかが格納されます。
最重要
重要
警告
通知
監視イベントの属性が格納されます。
このパラメタには、以下の値のどれかが格納されます。
監視イベントの属性は“一般”
監視イベントの属性は“返答要求”
監視イベントの属性は“高輝度”
監視イベントに対するジョブ番号が格納されます。
MPOP_JOBNUMLENバイト分呼び出し元で準備します。
監視イベントに対するユーザメモが格納されます。
MPOP_MEMOLENバイト分呼び出し元で準備します。
監視システムで、イベントの対処を開始した日時が格納されます。
発生イベント(rddatatyp==MPOP_GEM_MONITOR)の場合は0が格納されます。
日付、時刻が獲得できない場合、または日付だけ獲得できない場合は、timerecと同様の設定になります。
監視システムで、イベントの対処を終了した日時が格納されます。
発生イベント(rddatatyp==MPOP_GEM_MONITOR)の場合は0が格納されます。
日付、時刻が獲得できない場合、または日付だけ獲得できない場合は、timerecと同様の設定になります。
監視システムが発生したシステムのIPアドレスが格納されます。
IPアドレスがない場合は、0が格納されます。
1バイトの予約域です。
読み出したイベントデータの種類が格納されます。
このパラメタには、以下の値のどちらかが格納されます。
Systemwalker Centric Managerに通知された監視イベントのデータが読み出された。
状態が変更された監視イベントのデータが読み出された。
実行に必要な権限/実行環境
【Windows版】
運用管理サーバでは、Administrator権限/DmAdmin権限/DmOperation/DmReference権限が必要です。
運用管理サーバで実行可能です。
【UNIX版】
運用管理サーバでは、システム管理者(スーパーユーザ)権限が必要です。
運用管理サーバで実行可能です。
参照
以下のシステム監視のAPIを参照してください。
復帰値
【Windows版】
ReadFile()関数の復帰情報が、そのまま応答されます。
詳細なエラーコードは、GetLastError()で取得してください。
【UNIX版】
正常終了。
異常終了。詳細なエラーコードは、errnoに設定されます。
errnoには、システムのエラーコード(/usr/include/sys/errno.hに定義)、または/opt/systemwalker/include/mp_operr_api.hに定義されている値が設定されます。
API格納場所
“監視イベントのAPI”を参照してください。
注意事項
【Windows版】
呼び出し元は、Mp_ReadEvent()関数の第4パラメタの、OVERLAPPED構造体を利用して、イベント受信のオーバラップ処理を完了し、Mp_GetEventMap()関数を呼び出してください。
【UNIX版(Linux for Itanium版、Linux for Intel64版を除く)の場合】
UTF-8環境で本APIを使用する場合、以下の注意事項があります。
監視イベント種別(category)
獲得できる監視イベント種別が16バイトになります。17バイト目以降が削除されます。このため、以下のように対応してください。
APIを使用するサーバ
[イベント監視の条件定義]に、17バイト以上の監視イベント種別を16バイト以下に変更する定義を実施してください。
運用管理サーバ
この定義を実施した場合、定義した16バイト以下の監視イベント種別を[サーバ環境定義]に追加してください。
対応者名(dealer)
獲得できる対応者名が16バイトになります。17バイト目以降が削除されます。このため、イベント対処時に16バイト以内となる対応者名を指定してください。
システムの表示名(application)
獲得できるシステムの表示名が128バイトになります。129バイト目以降が削除されます。このため、Systemwalkerコンソール上で表示名を指定する場合は、128バイト以内となる表示名を指定してください。
動作環境による差異
運用管理サーバで使用可能です。