GraylogでJSON形式のログを取り扱う
Pocket

会社でログ管理にGraylogを使っているのだが、一部に存在しているJSON形式のログを取り込めないか調べたところGraylogにはその機能が標準で組み込まれていることを知った。
例えば、Collector Sidecarでファイルを指定してログ回収した結果、以下のようなログが来ていたとする。

20161006_093816000000

 

これを、jsonの項目名ごとに分割してやるには、まず対象のログのMessageID(上の画像だと「22ddcf00-8b5d-11e6-b270-623530633165」となっているログのID)とIndex番号(上の画像では「graylog_0」)を控えておき、[System] > [Input]に移動する。

Sponsored Links

移動後、対象のログが利用しているInputの[Manage extractors]をクリックする。

20161006_094244000000

 

[Add extractor]からMessage IDとIndex番号を使って、先ほどのJSON形式のログを検索、messageの右側のカラムから「JSON」を選択する。

20161006_094528000000

 

JSON形式の読み込みの仕方について設定する画面に遷移する。
基本的にはデフォルトのまま進めても問題ない箇所なので、そのまま[Extractor title]だけ入れて[Create extractor]で作成するとよいだろう。設定した結果は[try]ボタンを押下することで見れる。

20161006_094909000000

20161006_094902000000

 

設定後は、以下のようにログ受信後はJSONを分解して項目ごとに値を取り出せるようになる。

20161006_095144000000

 

アプリケーションによってはJSON形式でログを出すこともあるので、これは結構便利かも。

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。