Marquage les Journaux par Logstash - Grok - ElasticSearch
Résumé:
Je suis à l'aide de Logstash - Grok et elastic search et mon principal objectif est d'Abord accepter les journaux par logstash, les analyser par grok et d'associer des étiquettes avec des messages en fonction du type de journal, puis enfin le nourrir à l'Élastique serveur à la requête avec Kibana.
J'ai déjà écrit ce code mais je ne suis pas en mesure d'obtenir les balises dans Elastic Search.
C'est mon logstash confif fichier.
input {
stdin {
type => "stdin-type"
}
}
filter {
grok {
tags => "mytags"
pattern => "I am a %{USERNAME}"
add_tag => "mytag"
named_captures_only => true
}
}
output {
stdout { debug => true debug_format => "json"}
elasticsearch {}
}
Où vais-je tort?
- Je n'ai pas joué autour avec des balises que beaucoup, mais avez-vous essayé de supprimer les balises de la ligne? Chaque document doit obtenir la montag balise comme un résultat, je suppose.
Vous devez vous connecter pour publier un commentaire.
1) je voudrais d'abord commencer par l'édition de vos valeurs en fonction du type de données qu'ils représentent. Par exemple
vraiment devrait avoir un tableau comme valeur, et non une simple chaîne de caractères. Changement de
comme un bon point de départ. Vérifiez toutes vos valeurs et de vérifier qu'ils sont du bon type pour logstash.
2), Vous limitez votre grok des filtres pour les messages qui sont déjà marqués avec "mytags" basé sur la config de la ligne de
Je ne vois pas où vous avez ajouté que la balise à l'avance. Par conséquent, aucun de vos messages vont même aller à travers votre grok filtre.
3) Veuillez lire les logstash docs soigneusement. Je suis assez nouveau à l'Logstash/Analyser/ES/Kibana etc. monde, mais j'ai eu des problèmes très similaires à ce que vous avez eu, et tous ont été résolus en faisant attention à ce que dit la documentation.
Vous pouvez exécuter LogStash à la main (Vous avez peut-être déjà le faire) avec
/opt/logstash/bin/logstash -f $CONFIG_FILE
et peut vérifier que votre fichier de configuration est valide avec/opt/logstash/bin/logstash -f $CONFIG_FILE --configtest
je parie que vous êtes déjà ce que si.Vous peut besoin de mettre votre
add_tag
strophe dans un tableauIl se pourrait aussi que ce que vous êtes en tuyauterie dans
STDIN
n'est pas adapté dans le grok modèle. Si grok ne correspond pas est devrait résultat dans_grokparsefailure
d'être ajouté à votre tags. Si vous voyez des personnes, cela signifie que votre grok modèle n'est pas à la cuisson.Une meilleure façon de le faire peut-être...
Cela va ajouter une
"mytag"
balise à toutes les choses qui viennent de la norme dans, qu'ils sont groked ou pas.