0
私はログファイルを持っています。私はそれをtelegraf.logparser
で解析してから、それをinfluxdbに送ります。もしそのよう..Grok、異なる値で処理をログする
2016-12-06 11:13:34 job id: mHiMMDmCDFKDmGXNMhm, lrmsid: 13370
2016-12-06 11:14:34 job id: seeeeeewsda33rfddSD, lrmsid: 13371
2016-12-06 11:14:37 job id: dmABFKDmqKcNDmHBFKD, failure: "Timeout"
私は
%{TIMESTAMP_ISO8601} job id: %{WORD:jobid}, lrmsid: {%WORD.lrmsid}
or
%{TIMESTAMP_ISO8601} job id: %{WORD:jobid}, failure: {%WORD.fail}
とその行のシングルを一致させることができますしかし、どのように私はそれが両方を得るために行うことができます。問題は、私のログファイルは、完全な文字列内の異なるフィールドを有していますlrmsidが設定されていない、それは... lrmsid=null, and failure="Timeout"
を取得し、lrmsidがそのlrmsid=12345 and failure=null
はい、「オプション」フィールドが役立ちました! – user1908375
"受け入れる答え"はどうですか? ;) – deveth0
正しい構文は次のとおりです。 '(?:、失敗:%{WORD:失敗})?' – user1908375