オープンソース

一覧へ

6. ログを検索するには

6.1. 検索インタフェース

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

Graylogのログ検索

6.1.1. Message Count

検索画面には、デフォルトの状態でログ件数の棒グラフが表示されています。 棒グラフの中をドラッグすることで、検索の時間帯を変更することもできます。

Graylogのログ棒グラフ

6.1.2. All Message

検索画面には、初期条件での検索結果が表示されています。 デフォルトでは、Timestampとsourceフィールドの値が表示されています。

Graylogのログメッセージ

6.2. 検索方法

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

Graylogのログ検索方法

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

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

ssh

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

ssh login

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

"ssh login"

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

type: ssh

Hint

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

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

type: (ssh OR 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

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

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

6.3. 時間帯検索

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

Graylogのログ時間帯検索方法

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

  • Relative (相対時間)
    • 現在から1時間前など相対的な範囲で検索を行なうことができます。
    • 検索条件を保存して毎回同じ条件で検索したい場合などに有効です。
  • Absolute (絶対時間)
    • 期間を絞って検索を行なうことができます。
  • Keyword (キーワード)
    • last 90 daysなど自然言語で期間を指定することができます。
    • 次のような指定が可能です。
last month
4 hours ago
1st of april to 2 days ago
yesterday midnight +0200 to today midnight +0200

6.4. 検索条件の保存

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

Graylogの検索方法の保存

Titleを記入後、 Create new ボタンをクリックすると保存されます。

保存した条件は、 Load ボタンから呼び出すことができます。 リストの中から保存した条件を削除することもできます。

Graylogの検索方法の削除

保存した検索条件を呼び出したあと、その条件を更新したり、新しい条件として名前を付けて保存を行うこともできます。

Graylogの検索方法の更新

6.5. 検索結果

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

Graylogの検索結果

表示するフィールドを変更するには、右側にある Action 表示ボタンから Edit を選択します。

Graylogの表示フィールドの変更

編集画面の左側 FIELDS にある Add a field を押すとプルダウンメニューが表示されます。 プルダウンメニューから、表示するフィールドを変更することができます。

Graylogのフィールドの変更

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

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

デコレータを適用するためには、編集画面の左側 DECORATORS のプルダウンメニューから、利用するデコレータを選択することでデコレータを設定できます。

Graylogの検索結果の加工

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

6.6.1. Pipeline Processor Decorator

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

Hint

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

6.6.2. Lookup table

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

Hint

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

6.6.3. Syslog Severity Mapper

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

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

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

6.6.4. Format String

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

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

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

6.7. CSVエクスポート

検索結果をCSV形式でエクスポートできます。

検索バーの右側にある ボタンから Export to CSV を選択します。 検索画面に複数のメッセージテーブルが含まれている場合、どのメッセージテーブルを利用するか選択する必要があります。

GraylogのCSVエクスポート

また、テーブルごとに検索結果をCSV形式でエクスポートすることも可能です。

Graylogの検索結果のCSVエクスポート

結果は、検索条件や選択したフィールドによって変化します。 出力されるCSVの形式は以下のとおりです。

  • 一行目はヘッダ(フィールド名)
  • 区切り文字は,(カンマ)
  • 囲い文字は"(ダブルクオート)
"timestamp","source","facility","message"
"2023-08-04T17:42:04.777+09:00","example.org","clock","(root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)"
一覧へ