Je dois envoyer un message au serveur graylog2 via echo pour tester si le% {@ type} pour la fonction est correct, mais une fois que je fais l'écho, cela dans le support GELF n'arrive pas sur mon serveur graylog2. S'il redémarre graylog2, les messages à son sujet arrivent sur le serveur graylog2.
Exemple de message d'écho:
echo '{"version": "1.1","host":"example.org","short_message":"A short message that helps you identify what is going on","full_message":"Backtrace here\n\nmore stuff","level":1,"_user_id":9001,"_some_info":"foo","_some_env_var":"bar"}' | nc -w 1 my.graylog.server 12201
Qu'est-ce que je fais mal? Le mode graylog --debug n'affiche rien. Il ne voit même pas le message entrer.
Éditer:
L'entrée Graylog2 est configurée pour GELF TCP et affiche les connexions actives et elle augmente lorsque j'essaie de faire écho, mais rien n'atteint le serveur comme pour le message.
-u
paramètre à nc.Réponses:
Il semble que l'entrée TCP GELF ait besoin d'un caractère nul à la fin de chaque message Gelf.
Vous devez donc envoyer:
Cette réponse a été trouvée dans une discussion sur les problèmes de Graylog .
la source
-u
paramètre pournc
utiliser UDPAlors que j'essayais de vérifier qu'une instance Logstash écoutait correctement les entrées GELF, j'ai trouvé ce fil.
Voici une commande qui fonctionnera pour Logstash + Gelf sur UDP:
Remarquerez que :
echo
suffit, pas besoin de-e
Could not find parser for header: [123, 34]
dans les journaux Logstashla source