はじめに
皆さん、こんにちは。ビーブレイクシステムズの益原です。最終回の今回は実際にログファイルのパーサを作成する過程を解説します。
今回はJMS(Java Message Service)のメッセージの送受信を記録したログを解析します。JMSを利用するとアプリケーション間でメッセージの交換が容易に行えますが、ログが分散してしまうためにデバッグが困難になります。解析する前に、実際のログの一部を見ます。
(以上省略)
---------Receive----------
Header{
jmsDestination : DataRequest
jmsDeliveryMode : 2
jmsExpiration : 0
jmsPriority : 4
jmsMessageID : ID:jmsMessageID-35012-1128504245908-42:5662
jmsTimeStamp : 1128844586863
jmsCorrelationID : null
jmsReplyTo : null
jmsType : DATA_REQUEST
jmsRedeliverred : false
jmsProperties :
DATA_TYPE:DATA_JFQUERY
PROP_COMPONENT_NAME:JobManager
DOMAIN:default
}
Body {
[class ***]
select * from job_table
}
(以下省略)
このログファイルの構成は以下の通りです。
- 各レコードは"yyyy-MM-dd HH:mm:ss,SSS"の形式のタイムスタンプではじまる
- 送信、受信のレコードのみを変換対象とする
- 対象レコードはHeaderとBodyから構成される
このログファイルを共通基本イベントに変換してログ・ビューで表示するためには、パーサをプラグインとして作成する必要があり、その手順は表2になります。
- プラグイン・プロジェクトの作成
- アダプタ構成ファイルの作成
- プラグイン・マニフェスト・ファイルの編集作業
それでは、表2の流れにそってパーサの作成について解説していきます。
プラグイン・プロジェクトの作成
まずは「File→New→Other...→Plug-in Development→ Plug-in Project →Next>」をクリックして、プラグイン・プロジェクトを作成します。
作成した「New Plug-in Project」の「Project name」に任意の名前を指定します。今回は名前に"JMSMessageLogParser"と指定します。「Project contents」の「Use default」と「Project Settings」の「Create a Java project」と「Plug-in Format」の「Create an OSGi bundle manifest」チェックボックスをすべてオンにして「Next>」をクリックします。
「Plug-in Content」画面で「Plug-in Class」の「This plug-in will make contributions to the UI」のチェックボックスをオフにします。「Plug-in Properties」の各項目には任意の値を指定して「Finish」をクリックします。以上で、プラグイン・プロジェクトの作成は終了です。