機能説明
Mp_OpenMsgLog()関数発行後、Mp_ReadMsgLog()関数を発行することによりロギングされたメッセージを、1メッセージずつ読み出します。
呼び出し形式
【Windows for Itanium版、Windows x64版で64ビットのアプリケーションを作成する場合】
#include <mp_opagt_api.h> int Mp_ReadMsgLog( fp, hostxflg, level, time1, node, NodeID, DatabaseID, time2, category, msgtext, blkno, msgtype, ostype, submsgnum, voicenum, msgcolor, backcolor, domtype, domnum, replyid, systype,ext ); HANDLE fp; /* Mp_OpenMsgLog()で獲得したハ */ /* ンドルを指定する */ unsigned char *hostxflg; /* 強制表示フラグの格納領域のア*/ /* ドレスを指定する */ short *level; /* メッセージの重要度格納領域の*/ /* アドレスを指定する */ time_t *time1; /* メッセージが自システムに通知*/ /* された日時格納領域のアドレス*/ /* を指定する */ char *node; /* メッセージが出力されたシステ*/ /* ム名 */ /* 格納領域のアドレスを指定する*/ DWORD *NodeID; /* リザーブ領域 */ DWORD *DatabaseID; /* リザーブ領域 */ time_t *time2; /* メッセージが出力された日時格*/ /* 納領域のアドレスを指定する */ char *category; /* メッセージの種別格納領域のア*/ /* ドレスを指定する */ char *msgtext; /* メッセージ格納領域のアドレス*/ /* を指定する */ unsigned short *blkno; /* メッセージのブロック番号格納*/ /* 領域のアドレスを指定する */ unsigned short *msgtype; /* メッセージ種別格納領域のアド*/ /* レスを指定する */ unsigned short *ostype; /* OS種別格納領域のアドレスを指*/ /* 定する */ unsigned short *submsgnum; /* 補助説明文番号格納領域のアド*/ /* レスを指定する */ unsigned short *voicenum; /* 音声番号格納領域のアドレスを*/ /* 指定する */ unsigned char *msgcolor; /* 文字色格納領域のアドレスを指*/ /* 定する */ unsigned char *backcolor; /* 背景色格納領域のアドレスを指*/ /* 定する */ unsigned short *domtype; /* DOM種別格納領域のアドレスを */ /* 指定する */ long *domnum; /* DOM番号格納領域のアドレスを */ /* 指定る */ char *replyid; /* 返答識別子格納領域のアドレス*/ /* を指定する */ unsigned char *systype; /* 系区別格納領域のアドレスを指*/ /* 定する */ EXTENDDATA *ext; /* 拡張データ格納領域のアドレス*/ /* を指定する */
【Windows版(Windows for Itanium版、Windows x64版以外)の場合】
#include <mp_opagt_api.h> int Mp_ReadMsgLog( fp, hostxflg, level, time1, node, NodeID, DatabaseID, time2, category, msgtext, blkno, msgtype, ostype, submsgnum, voicenum, msgcolor, backcolor, domtype, domnum, replyid, systype,ext ); int fp; /* Mp_OpenMsgLog()で獲得したハ */ /* ンドルを指定する */ unsigned char *hostxflg; /* 強制表示フラグの格納領域のア*/ /* ドレスを指定する */ short *level; /* メッセージの重要度格納領域の*/ /* アドレスを指定する */ time_t *time1; /* メッセージが自システムに通知*/ /* された日時格納領域のアドレス*/ /* を指定する */ char *node; /* メッセージが出力されたシステ*/ /* ム名 */ /* 格納領域のアドレスを指定する*/ DWORD *NodeID; /* リザーブ領域 */ DWORD *DatabaseID; /* リザーブ領域 */ time_t *time2; /* メッセージが出力された日時格*/ /* 納領域のアドレスを指定する */ char *category; /* メッセージの種別格納領域のア*/ /* ドレスを指定する */ char *msgtext; /* メッセージ格納領域のアドレス*/ /* を指定する */ unsigned short *blkno; /* メッセージのブロック番号格納*/ /* 領域のアドレスを指定する */ unsigned short *msgtype; /* メッセージ種別格納領域のアド*/ /* レスを指定する */ unsigned short *ostype; /* OS種別格納領域のアドレスを指*/ /* 定する */ unsigned short *submsgnum; /* 補助説明文番号格納領域のアド*/ /* レスを指定する */ unsigned short *voicenum; /* 音声番号格納領域のアドレスを*/ /* 指定する */ unsigned char *msgcolor; /* 文字色格納領域のアドレスを指*/ /* 定する */ unsigned char *backcolor; /* 背景色格納領域のアドレスを指*/ /* 定する */ unsigned short *domtype; /* DOM種別格納領域のアドレスを */ /* 指定する */ long *domnum; /* DOM番号格納領域のアドレスを */ /* 指定る */ char *replyid; /* 返答識別子格納領域のアドレス*/ /* を指定する */ unsigned char *systype; /* 系区別格納領域のアドレスを指*/ /* 定する */ EXTENDDATA *ext; /* 拡張データ格納領域のアドレス*/ /* を指定する */
【UNIX版(Linux for Itanium版、Linux for Intel64版を除く)の場合】
#include <mp_opagt_api.h> int Mp_ReadMsgLog( fp, hostxflg, level, time1, node, NodeID, DatabaseID, time2, category, msgtext, blkno, msgtype, ostype, submsgnum, voicenum, msgcolor, backcolor, domtype, domnum, replyid, systype, ext ); int fp; /* Mp_OpenMsgLog()で獲得した */ /* ファイル記述子を指定する */ unsigned char *hostxflg; /* 強制表示フラグの格納領域のア*/ /* ドレスを指定する */ short *level; /* メッセージの重要度格納領域の*/ /* アドレスを指定する */ time_t *time1; /* メッセージが自システムに通知*/ /* された日時格納領域のアドレス*/ /* を指定する */ char *node; /* メッセージが出力されたシステ*/ /* ム名格納領域のアドレスを指定*/ /* する */ unsigned long *NodeID; /* リザーブ領域 */ unsigned long *DatabaseID; /* リザーブ領域 */ time_t *time2; /* メッセージが出力された日時格*/ /* 納領域のアドレスを指定する */ char *category; /* メッセージの種別格納領域のア*/ /* ドレスを指定する */ char *msgtext; /* メッセージ格納領域のアドレス*/ /* を指定する */ unsigned short *blkno; /* メッセージのブロック番号格納*/ /* 領域のアドレスを指定する */ unsigned short *msgtype; /* メッセージ種別格納領域のアド*/ /* レスを指定する */ unsigned short *ostype; /* OS種別格納領域のアドレスを指*/ /* 定する */ unsigned short *submsgnum; /* 補助説明文番号格納領域のアド*/ /* レスを指定する */ unsigned short *voicenum; /* 音声番号格納領域のアドレスを*/ /* 指定する */ unsigned char *msgcolor; /* 文字色格納領域のアドレスを指*/ /* 定する */ unsigned char *backcolor; /* 背景色格納領域のアドレスを指*/ /* 定する */ unsigned short *domtype; /* DOM種別格納領域のアドレスを */ /* 指定する */ long *domnum; /* DOM番号格納領域のアドレスを */ /* 指定る */ char *replyid; /* 返答識別子格納領域のアドレス*/ /* を指定する */ unsigned char *systype; /* 系区別格納領域のアドレスを指*/ /* 定する */ EXTENDDATA *ext; /* 拡張データ格納領域のアドレス*/ /* を指定する */
【Linux for Itanium版、Linux for Intel64版】
#include <mp_opagt_api.h> int Mp_ReadMsgLog( fp, hostxflg, level, time1, node, NodeID, DatabaseID, time2, category, msgtext, blkno, msgtype, ostype, submsgnum, voicenum, msgcolor, backcolor, domtype, domnum, replyid, systype, ext ); long fp; /* Mp_OpenMsgLog()で獲得した */ /* ファイル記述子を指定する */ unsigned char *hostxflg; /* 強制表示フラグの格納領域のア*/ /* ドレスを指定する */ short *level; /* メッセージの重要度格納領域の*/ /* アドレスを指定する */ time_t *time1; /* メッセージが自システムに通知*/ /* された日時格納領域のアドレス*/ /* を指定する */ char *node; /* メッセージが出力されたシステ*/ /* ム名格納領域のアドレスを指定*/ /* する */ unsigned long *NodeID; /* リザーブ領域 */ unsigned long *DatabaseID; /* リザーブ領域 */ time_t *time2; /* メッセージが出力された日時格*/ /* 納領域のアドレスを指定する */ char *category; /* メッセージの種別格納領域のア*/ /* ドレスを指定する */ char *msgtext; /* メッセージ格納領域のアドレス*/ /* を指定する */ unsigned short *blkno; /* メッセージのブロック番号格納*/ /* 領域のアドレスを指定する */ unsigned short *msgtype; /* メッセージ種別格納領域のアド*/ /* レスを指定する */ unsigned short *ostype; /* OS種別格納領域のアドレスを指*/ /* 定する */ unsigned short *submsgnum; /* 補助説明文番号格納領域のアド*/ /* レスを指定する */ unsigned short *voicenum; /* 音声番号格納領域のアドレスを*/ /* 指定する */ unsigned char *msgcolor; /* 文字色格納領域のアドレスを指*/ /* 定する */ unsigned char *backcolor; /* 背景色格納領域のアドレスを指*/ /* 定する */ unsigned short *domtype; /* DOM種別格納領域のアドレスを */ /* 指定する */ long *domnum; /* DOM番号格納領域のアドレスを */ /* 指定る */ char *replyid; /* 返答識別子格納領域のアドレス*/ /* を指定する */ unsigned char *systype; /* 系区別格納領域のアドレスを指*/ /* 定する */ EXTENDDATA *ext; /* 拡張データ格納領域のアドレス*/ /* を指定する */
パラメタ
Mp_OpenMsgLog()で獲得したハンドル、またはファイル識別子を指定します。
リザーブ領域。
charの領域を確保し、そのアドレスを指定してください。
発生したメッセージの重要度レベルが格納されます。
最重要
重要
警告
通知
一般
メッセージがメッセージログに格納された日時が格納されます。ただし、日時が正しく獲得できなかったときは、以下の値が設定されています。
0x00FFFFFF
0x00hhmmss
hh: 時(0x00 ~0x17)
mm: 分(0x00 ~0x3B)
ss: 秒(0x00 ~0x3B)
メッセージが発生したシステムのノード名が格納されます。
MPOP_NODENAMELENバイト分呼び出し元で準備します。
nodeで示されたシステムでメッセージが出力された日時が格納されます。日時が正しく獲得できなかったときは、time1と同様の設定となります。
発生したメッセージの監視イベント種別が格納されます。
MPOP_CATEGORYLENバイト分呼び出し元で準備します。
発生したメッセージテキストが格納されます。
2048バイト分呼び出し元で準備します。
メッセージ長が2047バイトを超える場合は、2047バイト以降は破棄されます。
マルチラインメッセージのように、複数のメッセージで意味をもつ場合に、複数メッセージをブロック化するための番号が格納されます。
単一メッセージの場合は、OP_ONLYBLK(0x0000)が格納され、マルチラインメッセージの場合は、0x0001~0xFFFFが格納されます。
ブロックの最後のメッセージには、必ずOP_MLTBLK_END(0xFFFF)が格納されます。
発生したメッセージのメッセージ種別が格納されます。
メッセージ種別を以下に示します。
通常メッセージ
返答要求メッセージ
高輝度メッセージ
メッセージ削除データ(以下、DOMデータという)
システム監視エージェントサービス起動メッセージ
システム監視エージェントサービス停止メッセージ
システム状態変更メッセージ
発生したメッセージのOS種別が格納されます。
OS種別を以下に示します。
UXP/DS
Solaris1.x系
Solaris2.x系
HP-UX
AIX
MVS
Linux
UXP/M
UXP/VPP
Windows(R) 2000
Windows NT(R)
Windows NT(R) Server
Windows NT(R) Workstation
Windows(R) 3.1, Windows(R) 3.11, Windows(R) 3.11 WorkGroup
Windows(R) 95
Windows(R) 98
Windows(R) XP
Windows(R) XP Professional
Windows(R) XP Home Edition
SXO
Symfoware(R) Parallel Server
RAID
MSP E20
MSP AFII
XSP AFII
AVM/EX
FTOPS-II
MVS 系(IBM、および他社互換機)
ホスト連携オプション
ASP
Windows Server(R) 2003
Windows Server(R) 2003,Standard Edition
Windows Server(R) 2003,Enterprise Edition
Windows Server(R) 2003,Datacenter Edition
Windows Server(R) 2003,Web Edition
Windows Vista(R)
Windows Vista(R) Ultimate
Windows Vista(R) Enterprise
Windows Vista(R) Business
Windows Vista(R) Home Premium
Windows Vista(R) Home Basic
Windows Server(R) 2008
Windows Server(R) 2008 Standard
Windows Server(R) 2008 Enterprise
Windows Server(R) 2008 Datacenter
Windows Server(R) 2008 Standard without Hyper-V
Windows Server(R) 2008 Enterprise without Hyper-V
Windows Server(R) 2008 Datacenter without Hyper-V
Windows Server(R) 2008 for Itanium-Based systems
Windows(R) Web Server 2008
Microsoft(R) Hyper-V Server 2008
Windows Server(R) 2008 Foundation
Windows(R) 7
Windows(R) 7 Ultimate
Windows(R) 7 Enterprise
Windows(R) 7 Professional
Windows(R) 7 Home Premium
Windows(R) 7 Starter for Small Notebook PCs
不明
GEEおよびUNIX版集中監視マネージャのGS連携オプションが使用する、メッセージの補助説明文の番号が格納されます。
この値は、GEEおよびGS連携オプション以外では使用しません(Windowsでは無効)。
UNIX版集中監視マネージャで音声を出力する場合の、音声に対する番号が格納されます。
音声出力機能は未サポートです(Windowsでは無効)。
[Systemwalkerコンソール]の[監視イベント一覧]に表示する、メッセージの文字の色が格納されます。
文字色の種類を以下に示します。
黒色
白色
赤色
緑色
青色
黄色
明青色
紫色
濃い灰色
黄緑色
空色
桃色
青緑色
茶色
淡い灰色
黄土色
メッセージ属性に応じた初期設定色
[Systemwalkerコンソール]の[監視イベント一覧]に表示する、メッセージの背景色が格納されます。
文字色の種類はmsgcolorと同じです。
返答要求メッセージ、および高輝度メッセージの種類が格納されます。
DOM種別を以下に示します。
返答要求メッセージ、および高輝度メッセージ以外です。
NIPDOMです。MSPのNIP時のメッセージ、およびDOMデータです(Windowsでは無効)。
MSPDOMです。MSPの通常時のメッセージ、およびDOMデータです(Windowsでは無効)。
XSPのNIP時以外の返答要求メッセージ、高輝度メッセージ、およびDOMデータです。
WORKITDOMです。BS*NET/WORKITが通知する返答要求メッセージ、およびDOMデータです。
ASPが通知する返答要求メッセージ、高輝度メッセージ、およびDOM データです。
Systemwalker Centric Managerアプリケーションが通知するDOM対応メッセージ、およびDOMデータです。
返答メッセージ機能が通知するDOM対応メッセージ、およびDOMデータです。
返答要求メッセージ、および高輝度メッセージの場合に、メッセージとDOMデータとの対応をとるための番号が格納されます。
この番号は、メッセージ発生システム内でDOM種別ごとに一意です。
返答要求メッセージに対してコマンドで返答するときの、メッセージを識別するための文字列が格納されます。
9バイト分呼び出し元で準備します。
ホットスタンバイシステムの場合に、メッセージが発生した時点での運用系、待機系の区別が格納されます。
系区別を以下に示します。
ホットスタンバイシステムではない。または、ホットスタンバイシステムですが、運用系、待機系がまだ決定していません。
ホットスタンバイシステムの運用系です。
ホットスタンバイシステムの待機系です。
Windows NT(R)のマイクロソフトクラスタシステムの運用です。
発生したメッセージの拡張データが格納されます。
構造体の形式
拡張データ(EXTENDDATA)の形式
【Windows版】
/* * EXTEND DATA */ typedef struct _EXTENDDATA { char runtype[MPOP_RUNTYPELEN]; unsigned char mailmsgflg; char rsv1[2]; DWORD DatabaseID; unsigned int IPaddr; DWORD DMInstallType; DWORD JMInstallType; DWORD MW_DM_vl; char MW_DM_suffix[MPOP_SUFFIXLEN]; char MW_DM_updatenum[MPOP_UPDATENUMLEN]; DWORD MW_JM_vl; char MW_JM_suffix[MPOP_SUFFIXLEN]; char MW_JM_updatenum[MPOP_UPDATENUMLEN]; unsigned char auttrbtkt; char domkey[MPOP_DOMKEYLEN]; } EXTENDDATA;
【UNIX版】
/* * EXTEND DATA */ typedef struct _EXTENDDATA { unsigned short protype; unsigned char conntype; char rsv1[1]; char jobnum[MPOP_JOBNUMLEN]; char rsv2[3]; char runtype[MPOP_RUNTYPELEN]; char rsv3[3]; unsigned char mailmsgflg; char rsv4[3]; char domkey[MPOP_DOMKEYLEN]; char rsv5[3]; unsigned int IPaddr; unsigned int DMInstallType; unsigned int JMInstallType; unsigned int MW_DM_vl; char MW_DM_suffix[MPOP_SUFFIXLEN]; char MW_DM_updatenum[MPOP_UPDATENUMLEN]; char rsv6[2]; DWORD MW_JM_vl; char MW_JM_suffix[MPOP_SUFFIXLEN]; char MW_JM_updatenum[MPOP_UPDATENUMLEN]; unsigned char auttrbtkt; char rsv7[1]; } EXTENDDATA;
リザーブ
リザーブ
リザーブ
メッセージが発生したシステムの運用形態名が格納されます。
発生したメッセージのメール連携フラグが格納されます。
DOM拡張キーが格納されます。
DOM拡張キーがない場合は、NULLが格納されます。
リザーブ領域。
メッセージが発生したシステムのIPアドレスが格納されます。アドレスがない場合は、0が格納されます。
メッセージが発生したシステムのSystemwalker Centric Managerのインストールタイプが格納されます。
メッセージが発生したシステムのSystemwalker Operation Managerのインストールタイプが格納されます。
メッセージが発生したシステムのSystemwalker Centric Managerのメジャーバージョン、マイナーバージョン、メジャーレベルが格納されます。
0x00000000 a) メジャーバージョン ←→←→←→ b) マイナーバージョン a) b) c) c) メジャーレベル
メッセージが発生したシステムのSystemwalker Centric Managerのサフィックスが格納されます。
メッセージが発生したシステムのSystemwalker Centric Managerのアップデートパック修正番号が格納されます。
メッセージが発生したシステムのSystemwalker Operation Managerのメジャーバージョン、マイナーバージョン、メジャーレベルが格納されます。形式は、MW_DM_vlと同様です。
メッセージが発生したシステムのSystemwalker Operation Managerのサフィックスが格納されます。
メッセージが発生したシステムのSystemwalker Operation Managerのアップデートパック修正番号が格納されます。
リザーブ領域。
実行に必要な権限/実行環境
【Windows版】
運用管理サーバ/部門管理サーバ/業務サーバでは、Administrator権限/DmAdmin権限/DmOperation権限/DmReference権限が必要です。
運用管理クライアント/クライアントでは、一般ユーザ権限で実行可能です。
運用管理サーバ/部門管理サーバ/業務サーバで実行可能です。
運用管理クライアント/クライアントでは、[イベント監視]を選択インストールしたとき実行可能です。
【UNIX版】
運用管理サーバ/部門管理サーバ/業務サーバではシステム管理者(スーパーユーザ)権限が必要です。
運用管理クライアント/クライアントでは、一般ユーザ権限で実行可能です。
運用管理サーバ/部門管理サーバ/業務サーバで実行可能です。
運用管理クライアント/クライアントでは、[イベント監視]を選択インストールしたとき実行可能です。
参照
以下のシステム監視のAPIを参照してください。
復帰値
正常終了。メッセージを正常に獲得。
正常終了。メッセージをすべて獲得。
異常終了。
備考
異常終了した場合の詳細なエラーコードは、以下の方法で取得/参照してください。
GetLastError()で取得してください。
エラーコードはerrnoに設定されます。
errnoには、システムのエラーコード(/usr/include/sys/errno.hに定義)、または/opt/systemwalker/include/mp_operr_api.hに定義されている値が設定されます。
API格納場所
“監視メッセージのAPI”を参照してください。
注意事項
拡張データの各メンバの値は、SystemWalker/CentricMGR V4.0L10以前のシステムで発生したメッセージには設定されません。
msgtypeがOP_APIMSGTYPENORM(通常メッセージ)、およびOP_APIMSGTYPEHB(高輝度メッセージ)以外のメッセージについては、制御用メッセージのため、OS種別が設定されないことがあります。
また、msgtypeがOP_APIMSGTYPENORM(通常メッセージ)、およびOP_APIMSGTYPEHB(高輝度メッセージ)で他製品との連携時に送付されたメッセージでは、OS種別としてOP_OS_UNKNOWN(不明)が取得されることがあります。
【UNIX版(Linux for Itanium版、Linux for Intel64版を除く)の場合】
UTF-8環境で本APIを使用する場合、以下の注意事項があります。
監視イベント種別(category)
獲得できる監視イベント種別が16バイトになります。17バイト目以降が削除されます。このため、以下のように対応してください。
APIを使用するサーバ
[イベント監視の条件定義]に、17バイト以上の監視イベント種別を16バイト以下に変更する定義を実施してください。
運用管理サーバ
この定義を実施した場合、定義した16バイト以下の監視イベント種別を[サーバ環境定義]に追加してください。
DOM拡張キー(domkey)
獲得できるDOM拡張キーが80バイトになります。81バイト目以降が削除されます。
このため、Systemwalkerスクリプトのメッセージ監視アクション型スクリプトにおいて、復旧キーに、文字コードUTF-8に変換したときに80バイト以内となるキーを指定してください。
動作環境による差異
以下のインストール種別で使用可能です。
運用管理サーバ
部門管理サーバ
業務サーバ
運用管理クライアント:
Windows(R) 2000/Windows NT(R)/Windows(R) XP/Windows Vista(R)/Windows(R) 7(注)
クライアント:
Windows(R) 2000/Windows NT(R)/Windows(R) XP/Windows Vista(R)/Windows(R) 7(注)
注)システム監視エージェントインストール選択時