web-dev-qa-db-ja.com

タグが存在するかどうかをチェックする条件付きのLogstash?

Logstashで条件を使用して特定のタグが存在するかどうかを確認する方法はありますか?

例えば、

grok {
match => [
"message", "Some expression to match|%{GREEDYDATA:NOMATCHES}"
]

nOMATCHESが存在する場合.

NOMATCHESタグが存在するかどうかを確認するにはどうすればよいですか?

ありがとう。

22
CodeRunner

わかりました。指定した設定スニペットは、タグではなくフィールドを設定しています。

Logstashイベントは、フィールドの辞書と考えることができます。 tagsという名前のフィールドは、add_tagおよびremove_tag操作を介して多くのプラグインによって参照されます。

タグが設定されているかどうかを確認できます。

if "foo" in [tags] {
    ...
}

しかし、フィールドに何かが含まれているかどうかをチェックしたいようです:

if [NOMATCHES] =~ /.+/ {
    ...
}

上記はNOMATCHESが存在し、空でないことを確認します。

参照:構成ファイルの概要

50
rutter

次の存在のテストも機能します[Logstash 1.4.2でテスト済み]。ただし、空でないことを検証することはできません。

if [NOMATCHES] {
    ...
}
6
dgassaway