Надішліть ехо-повідомлення на graylog2 через порт GELF TCP 12201


20

Мені потрібно надіслати повідомлення на сервер greylog2 через ехо, щоб перевірити, чи% {@ type} для об'єкта є вірогідним, але як тільки я зроблю ехо в службі підтримки GELF, не надходить на мій сервер graylog2. Якщо він перезапустить graylog2, то повідомлення про нього починають надходити на сервер graylog2.

Приклад повідомлення ехо:

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

Що я роблю неправильно? Режим сірого - налагодження нічого не показує. Він навіть не бачить повідомлення, яке надходить.

Редагувати:

Вхід Graylog2 налаштовується для GELF TCP і показує активні з'єднання, і він піднімається, коли я намагаюся відлунати, але нічого не доходить до сервера, як це стосується повідомлення.


1
Ця команда працює для мене. Єдина відмінність полягає в тому, що я використовую порт UDP на Graylog. Тому я додаю -uпараметр nc.
amra

Відповіді:


29

Здається, що вхід GELF TCP потребує нульового символу в кінці кожного повідомлення Gelf.

Тож вам слід надіслати:

echo -e '{"version": "1.1","host":"example.org","short_message":"Short message","full_message":"Backtrace here\n\nmore stuff","level":1,"_user_id":9001,"_some_info":"foo","_some_env_var":"bar"}\0' | nc -w 1 my.graylog.server 12201

Ця відповідь була знайдена в дискусії з питань Грейлога .


12
Додати -uпараметр, щоб ncвикористовувати UDP
rsilva4

7

Оскільки я намагався переконатися, що екземпляр Logstash правильно слухає входи GELF, я знайшов цю тему.

Ось команда, яка буде працювати для Logstash + Gelf над UDP:

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"}' | gzip | nc -u -w 1 127.0.0.1 12201

Зауважте, що:

  • досить просто echo, не потрібно-e
  • повідомлення gziped, інакше ви отримаєте цю помилку: Could not find parser for header: [123, 34]у журналах Logstash
  • netcat надсилає через UDP
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.