Existe-t-il un moyen dans logstash d'utiliser un conditionnel pour vérifier si une balise spécifique existe?
Par exemple,
grok {
match => [
"message", "Some expression to match|%{GREEDYDATA:NOMATCHES}"
]
si NOMATCHES existe Faites quelque chose.
Comment vérifier si la balise NOMATCHES existe ou non?
Merci.
Juste pour être clair: l'extrait de configuration que vous avez fourni définit un champ, pas une balise.
Les événements Logstash peuvent être considérés comme un dictionnaire de champs. Un champ nommé tags
est référencé par de nombreux plugins via add_tag
et remove_tag
opérations.
Vous pouvez vérifier si une balise est définie:
if "foo" in [tags] {
...
}
Mais vous semblez vouloir vérifier si un champ contient quelque chose:
if [NOMATCHES] =~ /.+/ {
...
}
Ce qui précède vérifiera que NOMATCHES
existe et n'est pas vide.
Le test d'existence suivant fonctionne également [testé dans Logstash 1.4.2], bien qu'il ne puisse pas valider non vide:
if [NOMATCHES] {
...
}