Gửi tin nhắn echo đến Graylog2 qua cổng GELF TCP 12201


20

Tôi cần gửi tin nhắn đến máy chủ Graylog2 qua echo để kiểm tra xem% {@ type} cho cơ sở có đúng hay không, nhưng một khi tôi thực hiện tiếng vang trong hỗ trợ GELF không đến máy chủ Graylog2 của tôi. Nếu nó khởi động lại Graylog2 thì các thông báo về nó bắt đầu đến máy chủ Graylog2.

Ví dụ về thông điệp 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

Tôi đang làm gì sai? Chế độ Graylog --debug không hiển thị gì cả. Nó thậm chí không nhìn thấy tin nhắn đến.

Chỉnh sửa:

Đầu vào Graylog2 được thiết lập cho GELF TCP và hiển thị các kết nối hoạt động và nó tăng lên khi tôi cố gắng lặp lại, nhưng không có gì đến máy chủ như thông báo.


1
Lệnh này hoạt động với tôi. Sự khác biệt duy nhất là tôi sử dụng cổng UDP trên Graylog. Do đó tôi thêm -utham số vào nc.
amra

Câu trả lời:


29

Có vẻ như đầu vào GELF TCP cần một ký tự null ở cuối mỗi thông báo Gelf.

Vì vậy, bạn nên gửi:

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

Câu trả lời này đã được tìm thấy trong một cuộc thảo luận về các vấn đề của Graylog .


12
Thêm -utham số để ncsử dụng UDP
rsilva4

7

Khi tôi đang cố xác minh rằng một cá thể Logstash đang lắng nghe chính xác các đầu vào GELF, tôi đã tìm thấy chuỗi này.

Đây là một lệnh sẽ hoạt động cho Logstash + Gelf trên 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

Thông báo rằng :

  • đơn giản echolà đủ, không cần-e
  • tin nhắn được nén, nếu không, bạn sẽ gặp lỗi này: Could not find parser for header: [123, 34]trong nhật ký Logstash
  • netcat đang gửi qua UDP
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.