Qual è il miglior componenti dello stack per la costruzione distribuita aggregatore di registro (come Splunk)?

StackOverflow https://stackoverflow.com/questions/3096131

Domanda

Sto cercando di trovare i migliori componenti che potrei utilizzare per costruire qualcosa di simile a Splunk per i log aggregati da un gran numero di server nel grid computing. Inoltre dovrebbe essere distribuito perché ho giga di log di tutti i giorni e nessuna singola macchina sarà in grado di memorizzare i registri.

Sono particolarmente interessato a qualcosa che funziona con Ruby e lavorerà su Windows e Solaris più recente (sì, ho ottenuto uno zoo).

vedo l'architettura come:

  • Log crawler (Rubino script).
  • di archiviazione di registro distribuita.
  • motore di ricerca distribuita.
  • avantreno leggero.

Log crawler e motore di ricerca distribuito sono fuori di domande - i registri saranno analizzati da Ruby sceneggiatura e elasticsearch saranno utilizzati per i messaggi di registro indice. Front end è anche molto facile scegliere -. Sinatra

archiviazione di registro

Il mio problema principale è distribuito. Ho guardato MongoDB, CouchDB, HDFS, Cassandra e HBase.

  • MongoDB è stato rifiutato perché non funziona su Solaris.
  • CouchDB non supporta sharding (SmartProxy è necessario per farlo funzionare, ma questo è qualcosa che non voglio provare ancora).
  • Cassandra grandi opere, ma è solo un maiale spazio su disco e che richiede l'esecuzione di tutti i giorni di auto-equilibratura per distribuire il carico tra i nodi Cassandra.
  • HDFS sembrava promettente, ma FileSystem API è solo Java e JRuby è stato un dolore.
  • HBase sembrava una soluzione migliore in giro, ma la distribuzione e il monitoraggio è solo un disastro - al fine di avviare HBase ho bisogno per iniziare HDFS prima, verifica che ha iniziato senza problemi, quindi avviare HBase e controllare anche, e quindi avviare servizio REST e anche a controllare.

Così mi sono bloccato. Qualcosa mi dice che HDFS o HBase sono la cosa migliore da usare come deposito di registro, ma HDFS funziona solo senza problemi con Java e HBase è solo una Distribuzione / monitoraggio incubo.

Qualcuno può condividere la propria esperienza di pensieri o la costruzione di sistemi simili che utilizzano componenti che ho descritto sopra o con qualcosa di completamente diverso?

È stato utile?

Soluzione

Mi consiglia di utilizzare Flume di aggregare i dati in HBase . Si potrebbe anche utilizzare il elastico Cerca Sink per Flume per mantenere un indice di ricerca fino ad oggi in tempo reale.

Per ulteriori informazioni, consultare la mia risposta a una domanda simile su Quora .

Altri suggerimenti

Per quanto riguarda Java e HDFS - utilizzando uno strumento come BeanShell, è possibile interagire con il negozio HDFS tramite Javascript.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top