grok match コマンドによって抽出されたフィールドの算術式を想定した grok フィルターに新しいフィールドを追加しようとしています。
残念ながら、その正しい構文を理解できませんでした...誰か?
48を返すはずの場所を見つけまし{(8*6)}
たが、定数ではなく変数はどうですか?
====
`if [type] == "f5" {
grok {
match => [ message, "...%{WORD:was_status}...%{NUMBER:hour}hr:%{NUMBER:min}min:%{NUMBER:sec}sec" ]
add_field => [ "duration_%{was_status}", "\{((%{hour} * 3600) + (%{min} * 60) + %{sec})}" ]
}
}`
====
結果は得られましたが、EVAL
明らかに正しく動作していません:
message: .... [ was down for 0hr:0min:4sec ]
duration_down \`{((0 * 3600) + (0 * 60) + 4)}`
どうもありがとう、ゆり