Extractors
簡単に言うと受信したときの項目分けをする機能の事。
あたらしいフィールドを作成することができる。
たとえば、messageに以下のようにでているとき、
フィールド | 値 |
---|---|
message | date=2024-07-11 time=16:29:31 devname="FortiGate-60E" type="event" subtype="system" level="notice" |
「type」や「level」をフィールドに追加したいときがある。
■手順(「Grok pattern」という正規表現で作成する)
- 「message」の項目を選択して▼から「create Extractors」を選択。
- 色々やってみたが、「Grok pattern」が便利そう
- 「Pattern」のみ以下に編集すればとりあえず動く。
level=\"%{WORD:message_level}\"
「Try against example」を押せばチェックできる。
基本的には正規表現のルール
- 「level=」は単純に文字列(「type=」にすれば上記の例の「event」が取得できる)
- 「\」は次の「"」は正規表現じゃないよという意味(エスケープ)
- 「{WORD}」だけでも指定できる。「{WORD}」はもとから用意されているものらしく他にも{IP}とかあるらしい。(Grokといわれるものの機能だと思われる。)
- 「{Grokの指定名:好きな名前}」のように「:」を後につけることで、フィールドの名前を設定できる。(尚、そうしないと自動で「WORD」というフィールド名になる。)
⇒「message_level」は自分で好きな名前にすることができる。
- 他の部分は気になったら調べればいい。今回はそのまま「create Extractors」を押下。
尚、既に受信しているログについてはタグをつけることはできない。
※他に方法があるかもしれないが知らない。