Invia il messaggio di echo a graylog2 tramite la port GELF TCP 12201

Ho bisogno di submit un messaggio al server graylog2 tramite echo per verificare se il% {@ type} per la struttura è corrent, ma una volta che faccio l'echo thats nel supporto GELF non arriva al mio server graylog2. Se riavvia il graylog2 allora i messaggi relativi all'avvento arrivano al server graylog2.

Esempio del messaggio echo:

  • netcat non trovato in Amazon AMI (Centos)
  • Ottenere un TTY in un Connettore Shell
  • Controllare se l'host remoto / port è aperto - Non è ansible utilizzare GNU Netcat né NMap - RHEL 7
  • Chiudere automaticamente la connessione netcat
  • Pacchetto tradizionale Netcat (nc) per RHEL 6.x?
  • logstash (o graylog?) vs nxLog per raccogliere i registri degli events e i registri csv
  • 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 

    Che cosa sto facendo di sbagliato? La modalità graylog – debug non mostra nulla. Non vede nemless il messaggio entrare.

    Edit:

    L'input Graylog2 è impostato per GELF TCP e mostra connessioni attive e si solleva quando provo ad eco, ma nulla raggiunge il server come per il messaggio va.

  • Chiudere automaticamente la connessione netcat
  • Bash Script Echo -n
  • Hai bisogno di un IP e port porttili UDP echo Server in diretta
  • espansione di supressione di * in eco
  • `psql` equivalenza di modalità espansa per` mysql`
  • 2 Solutions collect form web for “Invia il messaggio di echo a graylog2 tramite la port GELF TCP 12201”

    Sembra che l'ingresso GELF TCP abbia bisogno di un carattere nullo alla fine di each messaggio Gelf.

    Quindi devi submit:

     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 

    Questa risposta è stata trovata in una discussione sulle questioni di Graylog .

    Mentre stavo cercando di verificare che un'istanza di Logstash sia stata correttamente ascoltata per gli ingressi GELF, ho trovato questo thread.

    Ecco un command che funziona per Logstash + Gelf su 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 

    Notare che :

    • è sufficiente echo semplice, non c'è bisogno di -e
    • il messaggio è gziped, altrimenti avrai questo errore: Could not find parser for header: [123, 34] nei registri di Logstash
    • netcat invia oltre UDP
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.