オープンソース

一覧へ

7. ログを検索するには

7.1. 検索インタフェース

ログの検索インタフェースは、メニューの Search リンクから遷移することができます。

_images/search1.png

7.2. 検索方法

検索は、以下のフォームに値を入力して行ないます。

_images/search2.png

検索条件のフォーマットは以下の通りです。

sshというワードを含むログを検索する場合、以下のように入力します。:

ssh

sshまたはloginというワードを含むログを検索する場合、以下のように入力します。:

ssh login

ssh loginというワードを含むログを検索する場合、以下のように入力します。:

"ssh login"

typeフィールドにsshというワードが含まれるログを検索する場合、以下のように入力します。:

type: ssh

Hint

フィールドについては、ログを抽出・分割して保存するには を参照してください

typeフィールドにsshまたはloginというワードが含まれるログを検索する場合、以下のように入力します。:

type: (ssh login)

typeフィールドにssh loginというワードが含まれるログを検索する場合、以下のように入力します。:

type: "ssh login"

typeというフィールドが存在するログを検索する場合、以下のように入力します。:

_exists_:type

typeというフィールドが存在しないログを検索する場合、以下のように入力します。:

NOT _exists_:type

上記の通り、デフォルトの条件はORになります。AND条件で検索したい場合は、明示的にANDを入力します。:

"ssh login" AND source:example.org

NOTもANDと組み合わせて利用できます。:

"ssh login" AND NOT source:example.org

ワイルドカードを利用して、部分一致検索を行なうこともできます。:

source:*.org
source:exam?le.org
source:exam?le.*

Note

ワイルドカードを利用するためには、server.confの allow_leading_wildcard_searches の値が true になっている必要があります。ワイルドカードを利用する場合、非常に多くのメモリを消費することがあるため注意が必要です。

検索ワードの後ろにチルダを付与することで、あいまい検索を行なうこともできます。 あいまい検索は、レーベンシュタイン距離で実装されており、チルダの後ろにヒットするワードの距離を指定できます。:

source:exmaple.org~1

数値フィールドであれば、値の範囲を指定することもできます。 []は直後の値を含む検索を行ない、{}を使った場合は、直後の値を含まない検索になります。両方を組み合わせて使うこともできます。:

http_response_code:[ 500  TO  504 ]
http_response_code:{ 400  TO  404 }
byte:{ 0  TO  64 ]
http_response_code:[ 0  TO  64 }

範囲演算子を使うこともできます。:

http_response_code:>400
http_response_code:<400
http_response_code:>=400
http_response_code:<=400

検索条件に、以下の値が含まれる場合、バックスラッシュでエスケープすることができます。:

&& || : \ / + - ! ( ) { } [ ] ^ " ~ * ?

7.3. 時間帯検索

次のフォームに値を入力することで、時間帯を絞って検索ができます。時間を絞ることで、より素早い検索が可能になり、またシステムへの負荷を軽減することができます。

_images/search3.png

時間帯は、次の3つの種類から選択することができます。

  • 相対時間

    • 現在から1時間前など相対的な範囲で検索を行なうことができます。
    • 検索条件を保存して毎回同じ条件で検索したい場合などに有効です。
  • 絶対時間

    • 期間を絞って検索を行なうことができます。
  • キーワード

    • last 90 daysなど自然言語で期間を指定することができます。

    • 次のような指定が可能です。:

      last month
      4 hours ago
      1st of april to 2 days ago
      yesterday midnight +0200 to today midnight +0200
      

7.4. 検索条件の保存

Save search criteria ボタンをクリックすることで、現在の検索条件を保存することができます。

_images/search4.png

保存した条件は、 Saved searches のフォームから呼び出すことができます。

_images/search5.png

保存した検索条件を呼び出したあと、その条件を更新したり、削除することもできます。

_images/search6.png

7.5. 検索結果

検索結果は Messages に表示されます。デフォルトでは、Timestampやsource, messageフィールドの値が表示されています。

_images/search7.png

検索画面左の Fields のチェックを変更することで、表示するフィールドを変更することができます。

_images/search8.png

7.6. 検索結果の加工(Decoratorの使用)

デコレータを使用することで、保存されたログの形式を変更することなく、検索結果の表示を変更することができます。

デコレータを適用するためには、Search resultの Decorators のタブをクリックします。 次に利用するデコレータを選択することで、デコレータを設定できます。

_images/search18.png

各デコレータの解説は次の通りです。

7.6.1. Syslog Severity Mapper

Syslogのレベルを人間が読みやすい文字列に変換をするためのデコレータです。 例えば、Syslogのレベルを表す level フィールドに登録されているデータを Warning(4) などに変換できます。

このデコレータを使用するためには、以下のフィールドが必要です。

  • 変換元のフィールド: 数値のsyslogレベル
  • 変換先のフィールド: 変換した値を一時的に保存する任意のフィールド

7.6.2. Format string

複数のフィールドを結合・整形するためのデコレータです。

このデコレータを使用するためには、以下のフィールドが必要です。

  • フォーマット: 結果の文字列のフォーマット。 ${フィールド名} とすることで、フィールドの結合・整形を行なうことができます。例えば ${source} - ${message} とすることで、sourceフィールドとmessageフィールドを整形することができます。
  • 変換先のフィールド: 整形した値を一時的に保存する任意のフィールド

7.6.3. Pipe line processor decorator

登録済みのPipe lineを使用して、値を一時的に整形するデコレータです。

Hint

Pipe lineについては パイプライン処理によるログの加工方法(Processing pipelines) を参照してください

7.6.4. Lookup table

登録済みのLookup tableを使用して、値を一時的に整形するデコレータです。

Hint

Lookup tableについては 値のマッピングによるログの加工方法(Lookup tableの設定) を参照してください

7.7. CSVエクスポート

検索結果をCSV形式でエクスポートできます。 結果は、検索条件や選択したフィールドによって変化します。

_images/search19.png

出力されるCSVの形式は以下のとおりです。

  • 一行目はヘッダ(フィールド名)
  • 区切り文字は,(カンマ)
  • 囲い文字は"(ダブルクオート)

例:

"timestamp","source","message"
"2018-01-29T02:27:36.271Z","example.org","2018-01-29T02:27:36.271Z GET /posts/45326/edit [200] 60ms"
一覧へ