2014-09-05 22 views
7

Ho letto a blog post sull'impostazione di Logstash, Elasticsearch e Kibana e l'autore ha suggerito di utilizzare NXlog per spedire i registri da macchine diverse. Uno scenario distribuito tipico presentato in "Il Logstash Book" mostra come Logstash può essere utilizzato sia nel ruolo di spedizione che di indicizzazione. Stiamo attualmente sperimentando Logstash e configurandolo per spedire i registri su Elasticsearch è stato immediato. Quindi mi chiedo perché le persone scelgono NXLog come log shipper per Logstash invece di usare Logstash su entrambe le estremità.Perché le persone spediscono i log a Logstash con NXlog e non con Logstash stesso?

+0

È solo un altro strumento utile per le persone che hanno un'infrastruttura di logging molto comune. Puoi scrivere il tuo processo se lo trovi più semplice. – coffeeaddict

risposta

17

Il progetto logstash-forwarder, precedentemente conosciuto come "Lumberjack", spiega in questo modo:

preoccupazioni Uso risorse

problemi percepiti: Alcuni utenti di visualizzare versioni logstash come "grande" o hanno una paura generalizzata di Java.

Problemi effettivi: Logstash, per ora, viene eseguito con un footprint che non è compatibile con i sistemi sottovaluzionati come le istanze Micro EC2; su altri sistemi va bene. Questo progetto esiste fino al che è stato risolto.

problemi di trasporto

Pochi meccanismi di trasporto di log forniscono la sicurezza, bassa latenza, e affidabilità.

Il protocollo di taglialegna utilizzato da questo progetto esiste per fornire un protocollo di rete per la trasmissione che è sicuro, bassa latenza, basso utilizzo delle risorse e affidabile.

Un esempio Logstash caricatore non è particolarmente pesi massimi, ma se la macchina ha solo 1-2 GB di RAM può essere difficile per allocare casualmente diverse centinaia di MB a un'altra istanza JVM.

Un'altra considerazione: cosa succede se i nodi del mittente utilizzano un sistema operativo non supportato da Logstash? Logstash può essere eseguito su Windows, ora, ma è ancora sul lato buggy delle cose. Non posso specificamente garantire NXLog in quell'area, ma ritengo che sia una scelta popolare.

+1

Grazie mille. Ottima risposta! –

+1

1) Evita di installare java (quale java? Quale versione?) Su molte macchine dove altrimenti non avremmo. 2) nxlog può leggere bene il registro eventi di Windows e può essere inviato come JSON su TLS (quindi non ci stiamo legando troppo pesantemente a nxlog). –

+0

Ma quale vantaggio ha NXLog rispetto all'agente "Logstash Forwarder" leggero fornito da Logstash? – Mark

1

Abbiamo implementato la spedizione con RSyslog piuttosto che con LogStash a causa del desiderio di mantenere java off dei nostri host laddove possibile. Rende la configurazione di LogStash sul loghost/filer un po 'più complessa, ma non dover tenere il passo con gli aggiornamenti di sicurezza di Java sugli host front-end è più un problema che occuparsi dei registri di ripping a parte sul filer centrale.

+0

Grazie, ha senso. –