Grokとは、直訳すると「意味を捉える」という意味。取得したログデータのフィルタリング、抽出、加工を行う際のとても重要なフィルタです。
grokフィルタを使うと、非構造データを正規表現によって構造データ化することができます。つまり、
Apache logやSyslogなど様々なログの出力文字列を定型的なパターンと化して、各パートの抽出ができるようになります。
ここ に予め用意されているGrokパターンが記載されています。
例えばApacheのログだと、COMMONAPACHELOGという名前でアクセスログが定義されています。
1 2 3 4 5 |
filter { grok { match => [ "message", "%{COMMONAPACHELOG}" ] } } |