あなたはログファイルに合格しようとしているので、あなたが指定したパスからファイルまたはファイルの数xを取得するために、file入力プラグインを使用する必要があります。
input {
file {
path => "/your/path/*"
exclude => "*.gz"
start_position => "beginning"
ignore_older => 0
sincedb_path => "/dev/null"
}
}
上記は、あなたが再現するためだけのサンプルです:だから、基本的なinput
はこのような何かを見ることができます。したがって、ファイルを取得して1行ずつ処理を開始すると、grokフィルタを使用して、ログファイルのキーワードと一致させることができます。サンプルフィルタはこのようなものになります:
grok {
patterns_dir => ["/pathto/patterns"]
match => { "message" => "%{SYSLOGTIMESTAMP:timestamp} %{SYSLOGHOST:logsource} %{SYSLOGPROG}: + %{SRCFILE:srcfile}:%{NUMBER:linenumber} where SRCFILE is defined as [a-zA-Z0-9._-]+" }
}
をあなたはと同じ行でそれを持つことができ、単一のファイルOR内に印刷ログの異なる種類を持っている場合は、異なるフィルタを使用する必要があります,
カンマ区切りの値。以下のような何か:
grok {
match => { "message" => [
"TYPE1,%{WORD:a1},%{WORD:a2},%{WORD:a3},%{POSINT:a4}",
"TYPE2,%{WORD:b1},%{WORD:b2},%{WORD:b3},%{WORD:b4}",
"TYPE3,%{POSINT:c1},%{WORD:c2},%{POSINT:c3},%{WORD:c4}" ]
}
}
そして、あなたはあなたが右のそれの中に必要なすべての値を持っているので、多分あなたは、message
で遊ぶことができます。それが役に立てば幸い!