Eko mesajını GELF TCP 12201 portu üzerinden graylog2'ye gönder


20

Ben tesis için% {@ type} corrent olup olmadığını test etmek için graylog2 sunucusuna echo üzerinden bir mesaj göndermek gerekir, ancak bir kez GELF desteğinde echo thats graylog2 sunucuma gelmiyor. Graylog2'yi yeniden başlatırsa, başlamasıyla ilgili mesajlar graylog2 sunucusuna gelir.

Yankı mesajı örneği:

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

Neyi yanlış yapıyorum? Graylog - hata ayıklama modu hiçbir şey göstermez. Mesajın geldiğini bile görmüyor.

Düzenle:

Graylog2 girişi GELF TCP için ayarlanmıştır ve aktif bağlantıları gösterir ve yankı vermeye çalıştığımda yükselir, ancak mesaj için olduğu gibi hiçbir şey sunucuya ulaşmaz.


1
Bu komut benim için çalışıyor. Tek fark graylog üzerinde UDP port kullanıyorum. Bu yüzden nc'ye -uparametre ekliyorum .
amra

Yanıtlar:


29

GELF TCP girişinin her Gelf mesajının sonunda boş bir karaktere ihtiyacı olduğu görülüyor.

Bu yüzden göndermelisiniz:

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

Bu cevap Graylog'un sorunları üzerine bir tartışmada bulundu .


12
-unc
Kullanmak

7

Bir Logstash örneğinin GELF girişlerini doğru bir şekilde dinlediğini doğrulamaya çalışırken, bu iş parçacığını buldum.

İşte UDP üzerinden Logstash + Gelf için çalışacak bir komut:

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

Dikkat:

  • basit bir echoşey yeter, gerek yok-e
  • ileti gziped edilir, aksi takdirde bu hatayı alırsınız: Could not find parser for header: [123, 34]Logstash günlüklerinde
  • netcat UDP üzerinden gönderiyor
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.