Preciso enviar uma mensagem para o servidor graylog2 por meio de eco para testar se o% {@ type} do recurso está correto, mas depois que eu faço o eco que é o suporte do GELF, ele não chega ao meu servidor graylog2. Se ele reiniciar o graylog2, as mensagens sobre o início dele chegarão ao servidor graylog2.
Exemplo da mensagem de eco:
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
O que estou fazendo errado? O modo graylog --debug não mostra nada. Ele nem vê a mensagem chegar.
Editar:
A entrada Graylog2 é configurada para o GELF TCP e mostra conexões ativas e aumenta quando tento ecoar, mas nada chega ao servidor conforme a mensagem segue.
-u
parâmetro ao nc.Respostas:
Parece que a entrada GELF TCP precisa de um caractere nulo no final de cada mensagem Gelf.
Então você deve enviar:
Esta resposta foi encontrada em uma discussão sobre os problemas de Graylog .
fonte
-u
parâmetro paranc
usar o UDPComo eu estava tentando verificar se uma instância do Logstash estava escutando corretamente as entradas GELF, encontrei esse segmento.
Aqui está um comando que funcionará para o Logstash + Gelf sobre UDP:
Notar que :
echo
basta um simples , não há necessidade de-e
Could not find parser for header: [123, 34]
nos logs do Logstashfonte