ส่งข้อความ echo ไปที่ graylog2 ผ่านพอร์ต GELF TCP 12201


20

ฉันต้องส่งข้อความไปยังเซิร์ฟเวอร์ graylog2 ผ่าน echo เพื่อทดสอบว่า% {@ type} สำหรับสิ่งอำนวยความสะดวกนั้นสอดคล้องกันหรือไม่ แต่เมื่อฉันทำเสียงก้องที่สนับสนุน GELF จะไม่เข้าสู่เซิร์ฟเวอร์ graylog2 ของฉัน หากรีสตาร์ท graylog2 ดังนั้นข้อความเกี่ยวกับการเริ่มต้นจะมาถึงเซิร์ฟเวอร์ graylog2

ตัวอย่างข้อความ echo:

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

ผมทำอะไรผิดหรือเปล่า? โหมด graylog --debug ไม่แสดงอะไรเลย มันไม่ได้เห็นข้อความเข้ามา

แก้ไข:

อินพุต Graylog2 ถูกตั้งค่าสำหรับ GELF TCP และแสดงการเชื่อมต่อที่ใช้งานอยู่และจะเพิ่มขึ้นเมื่อฉันพยายามที่จะสะท้อน แต่ไม่มีอะไรไปถึงเซิร์ฟเวอร์ตามที่ข้อความไป


1
คำสั่งนี้ใช้ได้สำหรับฉัน ข้อแตกต่างคือฉันใช้พอร์ต UDP บน graylog ดังนั้นฉันเพิ่ม-uพารามิเตอร์ลงใน NC
amra

คำตอบ:


29

ดูเหมือนว่าอินพุต GELF TCP ต้องการอักขระ null ในตอนท้ายของแต่ละข้อความ 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

คำตอบนี้ถูกพบในการอภิปรายในประเด็น Graylog ของ


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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.