CookBook

request.log を Kibana で可視化する方法

投稿日:2017-08-16 更新日:

この CookBook では、request.log を Kibana で可視化する方法について紹介しています。
方法は色々ありますが、この CookBook では Logstashlogstash-logback-encoder を組み合わせて Elasticsearch へのログの投入を行います。

レシピ

  1. De_dot filter plugin | Logstash のインストール
  2. logstash.conf を作成
  3. WEB-INF/conf/log/im_logger_request_logstash.xml を配置
  4. logstash-logback-encoder-x.xx.jar を配置

1. De_dot filter plugin | Logstash のインストール

MDC のキー名に含まれるドット(.)をエスケープするための De_dot filter plugin をインストールします。
下記コマンドでインストールします。

2. logstash.conf を作成

行数 説明
1-6 LogstashTcpSocketAppender の出力を受け取ります。
7-10 Elasticsearchでは「.」が特別な意味を持つため、MDC のキーに含まれる「.」を「_」に変更します。
11-16 受け取った JSON を Elasticsearch に取り込みます。
13 送信先となる Elasticsearch のアドレスを指定します。

logstash の設定の詳細については Configuring Logstash を参照してください。
De_dot filter plugin の設定の詳細については De_dot filter plugin を参照してください。

下記コマンドで Logstash を起動します。

3. WEB-INF/conf/log/im_logger_request_logstash.xml を配置

行数 説明
4-7 TCP を用いてログを JSON 出力します。
5 送信先となる Logstash のアドレスを指定します。ポート番号は logstash.conf の input の tcp port に設定した値を指定します。
9-12 リクエストログに上記の設定を適用します。

指定可能なオプションの詳細についてはLogback JSON encoderを参照してください。

4. logstash-logback-encoder-x.xx.jar を配置

Logstash Logback Encoder より logstash-logback-encoder-x.xx.jar をダウンロードします。
ダウンロードした jar ファイルを、WEB-INF/lib に配置します。

Accel Platform を起動し、アクセスすることで、ログが Elasticsearch に投入されます。
Kibana からインデックス名「request-*」で登録することで、データを表示することができます。

-CookBook

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

IM-FormaDesignerで作成したフォーム内で、外部連携を利用して最も簡単に値を渡す方法(テーブルアイテム編)

このCookBookでは、IM-FormaDesignerで作成したフォーム画面の中で、テーブルアイテムからテーブルアイテムへ値を渡す方法について紹介します。 今回は例として、グリッドテーブルを利用し …

no image

ワークスペースとToDo機能との連携

このCookBookでは、「intra-mart Accel Collaboration」の機能の1つであるワークスペースと「intra-mart Accel Collaboration」のToDo機 …

no image

スクリプト開発モデルで作成した1つのページソースを複数の画面で利用する

このCookBookでは、任意のスクリプト開発モデルプログラムをコールして部分ページソース挿入を行う方法を紹介します。 部分ページソース挿入は<imart type=”include”>タ …

スプレッドシートのバインディングデータを別途テーブルに出力する方法

スプレッドシートのJsonデータとバインディングデータは、Formaヘッダーテーブルにバイナリカラムで格納されます。 Formaヘッダーテーブルに格納されたスプレッドシートデータは、登録データ情報管理 …

no image

スクリプト開発した画面にバリデーション(入力チェック)を実装する

このCookBookでは、作成した画面項目に対してバリデーション(入力チェック)を設定する方法をご紹介します。 今回はスクリプト開発で登録フォームを作成するで作成した画面項目に対して、クライアントサイ …

まだデータがありません。

RSSRSSRSSRSS