ログファイルのパーサを作成する

はじめに皆さん、こんにちは。ビーブレイクシステムズの益原です。最終回の今回は実際にログファイルのパーサを作成する過程を解説します。

益原 祐介

2005年11月14日 20:00

はじめに

皆さん、こんにちは。ビーブレイクシステムズの益原です。最終回の今回は実際にログファイルのパーサを作成する過程を解説します。

今回は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から構成される
表1:ログファイルの構成

このログファイルを共通基本イベントに変換してログ・ビューで表示するためには、パーサをプラグインとして作成する必要があり、その手順は表2になります。

  1. プラグイン・プロジェクトの作成
  2. アダプタ構成ファイルの作成
  3. プラグイン・マニフェスト・ファイルの編集作業
表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」をクリックします。以上で、プラグイン・プロジェクトの作成は終了です。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30