Hitachi

Hitachi System Information Capture システム分析支援 リアルタイムモニタ 


9.4.4 稼働情報編集UOC

機能

システム分析支援リアルタイムモニタに送信する稼働情報にユーザ任意の情報を付加できます。

形式

#include <esplg_uoc.h>
ESLONG uoc_func(ESPLG_UOC_RTM *parm)

「uoc_func」部分には、システム内で一意の名称を指定してください。

説明

要求電文と応答電文がそろったときに呼び出されるUOCです。

パラメタの内容

ESPLG_UOC_RTMのパラメタ内容

typedef struct es_plg_uoc_rtm {
  ESULONG run_mode; ………………実行形態
  ESULONG protocol;…………………プロトコル種別
  ESULONG error_inf;……………… エラー情報
  char reserve1[4];……………予備領域
  ESCOM_AREA usr_clt_area;……………未使用
  char usr_clt_area_state;……未使用
  char reserve2[7];…………… 予備領域
  ESCOM_AREA ext_request;…………… 要求電文の情報
  ESPLG_UOC_TELSIZE ext_request_size;… 要求電文のサイズ
  ESCOM_AREA ext_reply;………………応答電文の情報
  ESPLG_UOC_TELSIZE ext_reply_size;……応答電文の電文長
  ESLONG user_code;………………ユーザ情報コード
  char user_system[32];………システム名
  char user_info[128];……… ユーザ情報文字列
  char *protoinf; ……………プロトコル情報
  char analysis_key1[33];…… 分析キー情報1
  char analysis_key2[33];…… 分析キー情報2
  char reserve[54];……………予備領域
} ESPLG_UOC_RTM;

es_com_area(ESCOM_AREA)の内容

typedef struct es_com_area {
  ESULONG size; …………………領域サイズ
  char reserve[4]; ………………予備領域
  char *data; ………………… 領域先頭アドレス
} ESCOM_AREA;

ESPLG_UOC_TELSIZEの内容

typedef union {
  ESPLG_UOC_TCPSIZE tcp_size; ………… TCP電文サイズ形式
  ESPLG_UOC_HTTPSIZE http_size; ………… HTTP電文サイズ形式
} ESPLG_UOC_TELSIZE;

es_plg_proto_iiop(ESPLG_PROTO_IIOP)の内容

typedef struct es_plg_proto_iiop {
  char protoinf_type; …………… プロトコル情報種別
  char req_byte_order; …………… 要求電文バイトオーダ
  char rpy_byte_order; …………… 応答電文バイトオーダ
  char reserve1[5]; …………… 予備領域
  char *object_key; …………… オブジェクトキー
  ESULONG object_key_size; …………… オブジェクトキーサイズ
  char reserve2[4]; …………… 予備領域
  char *operation; …………… オペレーション名
  ESULONG operation_size; …………… オペレーション名サイズ
  char reserve3[4]; …………… 予備領域
  void *req_service_context;……… 要求電文サービスコンテキスト
  ESULONG req_service_context_size; … 要求電文サービスコンテキストサイズ
  char reserve4[4]; …………… 予備領域
  void *rpy_service_context;……… 応答電文サービスコンテキスト
  ESULONG rpy_service_context_size; … 応答電文サービスコンテキストサイズ
  char reserve5[4]; …………… 予備領域
  ESULONG reply_status; …………… リターン値
  char system1; ………………… 製品情報1
  char system2; ………………… 製品情報2
  char system3; ………………… 製品情報3
  char reserve6[49]; ………… 予備領域
} ESPLG_PROTO_IIOP;

es_plg_proto_rpc(ESPLG_PROTO_RPC)の内容

typedef struct es_plg_proto_rpc {
  ESLONG protocol_type; …… プロトコル種別詳細
  ESLONG rpc_model; …… RPC形態
  char group[32]; …… サービスグループ名
  char service[32]; …… サービス名
  ESLONG rtncode; …… リターン値
  ESULONG root_number; …… 製品情報
  ESULONG client_number; …… 製品情報
  char root_nodeid[5]; …… 製品情報
  char client_nodeid[5]; …… 製品情報
  char server_nodeid[5]; …… 製品情報
  char reserve[29]; …… 予備領域
} ESPLG_PROTO_RPC;

システム検証支援基盤が設定するパラメタ項目

■es_plg_uoc_rtmのパラメタ項目

run_mode

システム分析支援の実行形態を設定します。

ESFRW_RUNMODE_CREATE_A:システム分析支援リアルタイムモニタ連携

protocol

電文のプロトコル種別を設定します。

ESFRW_PROT_TCP:TCP

ESFRW_PROT_HTTP:HTTP

ESFRW_PROT_IIOP:IIOP

ESFRW_PROT_RPC:RPC

error_inf

要求電文受信後に発生したエラー情報を設定します。

ESFRW_ERROR_NONE

エラーなし

ESFRW_ERROR_RECV_TIMEOUT

応答待ちタイムアウトによる受信不可

コネクション切断、およびパケットロストを含みます。

ESFRW_ERROR_RECV_PROTO

プロトコルレベルのエラー検知

IIOPプロトコルの場合、応答電文のリプライステータスがユーザ例外、システム例外を含みます。

RPCプロトコルの場合、応答電文のリターン値が0以外を含みます。

ext_request

要求電文のサイズと先頭アドレスを設定します。

ext_request_size

プロトコルに応じて電文のサイズをESPLG_UOC_TELSIZE形式で設定します。

ESPLG_UOC_TELSIZE形式については「ESPLG_UOC_TELSIZEの内容」を参照してください。

ext_reply

応答電文のサイズと先頭アドレスを設定します。応答電文がないときは、サイズが0となります。

ext_reply_size

プロトコルに応じて電文のサイズをESPLG_UOC_TELSIZE形式で設定します。

ESPLG_UOC_TELSIZE形式については「ESPLG_UOC_TELSIZEの内容」を参照してください。

protoinf

プロトコル情報の領域アドレスを設定します。

プロトコル種別がESFRW_PROT_IIOPの場合:ESPLG_PROTO_IIOP形式で設定します。

プロトコル種別がESFRW_PROT_RPCの場合:ESPLG_PROTO_RPC形式で設定します。

その他:参照できません。

■es_plg_proto_iiopのパラメタ項目

protoinf_type

ESPLG_PROTO_IIOPに設定するプロトコル情報の種別を論理和で設定します。

ESPLG_IIOP_MSG_REQUEST:Request電文情報あり

ESPLG_IIOP_MSG_REPLY:Reply電文情報あり

req_byte_order

要求電文のバイトオーダを設定します。

ESPLG_IIOP_BIG_ENDIAN:ビッグエンディアン

ESPLG_IIOP_LITTLE_ENDIAN:リトルエンディアン

rpy_byte_order

応答電文のバイトオーダを設定します。

ESPLG_IIOP_BIG_ENDIAN:ビッグエンディアン

ESPLG_IIOP_LITTLE_ENDIAN:リトルエンディアン

object_key※1

オブジェクトキーの格納領域アドレスを設定します。

object_key_size※1

オブジェクトキーのサイズを設定します。

operation※1

オペレーション名の格納領域アドレスを設定します。

operation_size※1

オペレーション名のサイズを設定します。

req_service_context※1 ※3

要求電文のサービスコンテキストの格納領域アドレスを設定します。

サービスコンテキストの形式は、OMGで規定されているIOP::ServiceContextListとなります。

req_service_context_size※1

要求電文のサービスコンテキストサイズを設定します。

サイズが0の場合、要求電文サービスコンテキストは参照できません。

rpy_service_context※2 ※3

応答電文のサービスコンテキストの格納領域アドレスを設定します。

サービスコンテキストの形式は、OMGで規定されているIOP::ServiceContextListとなります。

rpy_service_context_size※1 ※2

応答電文のサービスコンテキストサイズを設定します。

サイズが0の場合、応答電文サービスコンテキストは参照できません。

reply_status※2

応答電文のリプライステータス(reply_status)を設定します。

ESPLG_IIOP_NO_EXCEPTION:NO_EXCEPTION(正常応答)

ESPLG_IIOP_USER_EXCEPTION:USER_EXCEPTION(ユーザ例外)

ESPLG_IIOP_SYSTEM_EXCEPTION:SYSTEM_EXCEPTION(システム例外)

注※1

プロトコル情報種別にESPLG_IIOP_MSG_REQUESTが設定されているときだけ参照できます。

注※2

プロトコル情報種別にESPLG_IIOP_MSG_REPLYが設定されているときだけ参照できます。

注※3

各電文のバイトオーダを考慮して参照してください。

■es_plg_proto_rpcのパラメタ項目

protocol_type

プロトコル種別の詳細を設定します。

ESPLG_PROT_RPC_TYPE_RPC:RPCプロトコル

ESPLG_PROT_RPC_TYPE_RAP:RAPプロトコル

rpc_model

RPC形態(RAPの場合はdc_rpc_callの代理実行形態)を設定します。

ESPLG_PROT_RPC_MODEL_NOFLAGS:同期応答型

ESPLG_PROT_RPC_MODEL_NOWAIT:非同期応答型

ESPLG_PROT_RPC_MODEL_NOREPLY:非応答型

group

要求先のサービスグループ名を設定します。

service

要求先のサービス名を設定します。

rtncode

応答電文のリターン値を設定します。

ユーザが設定するパラメタ項目

user_code

ユーザ任意のコードを-2147483648 ~ 2147483647の範囲で設定してください。

user_system

次に示す機能でシステム名を使用する場合に、英数字で設定してください。

  • システム分析支援リアルタイムモニタのダッシュボード画面

  • 稼働情報抽出ユティリティ

  • esrtmstced(稼働情報のファイル出力)

製品では英数字かどうかをチェックしません。英数字以外を設定した場合、上記機能が正常に動作しないことがあります。

文字列の最後にはnull文字を設定してください。null文字がない場合、32バイト目をnull文字に置換します。

システム名の指定がなく、かつシステム分析支援リアルタイムモニタのsystem_nameプロパティに指定がないときは、次のように設定します。

プロトコル種別がESFRW_PROT_TCPの場合:TCP

プロトコル種別がESFRW_PROT_HTTPの場合:HTTP

プロトコル種別がESFRW_PROT_IIOPの場合:IIOP

プロトコル種別がESFRW_PROT_RPCの場合:サービスグループ名

user_info

システム分析支援リアルタイムモニタの画面に出力したいユーザ任意の文字列を設定してください。

文字列にはASCII文字を設定してください。ASCII文字以外を設定した場合、画面に正しく表示されないことがあります。

文字列の最後にはnull文字を設定してください。null文字がない場合、128バイト目をnull文字に置換します。

analysis_key1

次に示す機能で分析キー情報を使用するときに、文字列で設定してください。

  • 稼働情報抽出ユティリティ

  • esrtmstced(稼働情報のファイル出力)

文字列の最後にはnull文字を設定してください。null文字がない場合、33バイト目をnull文字に置換します。

analysis_key2

次に示す機能で分析キー情報を使用するときに、文字列で設定してください。

  • 稼働情報抽出ユティリティ

  • esrtmstced(稼働情報のファイル出力)

文字列の最後にはnull文字を設定してください。null文字がない場合、33バイト目をnull文字に置換します。

リターン値

次のコードでリターン値を設定してください。

ESPLG_UOC_OK

アラート検知機能によって、アラート検知画面への出力有無を決定します。

ESPLG_UOC_MSG_DESTRUCT

電文を破棄します。

ESPLG_UOC_NG

アラート検知対象として、アラート検知画面にトランザクションの稼働情報を出力します。

上記以外

ESPLG_UOC_NGと同じ動作をします。

注意事項