Qual è la differenza tra OpenTSDB e Graphite?


28

Per quanto ne so, ecco le principali differenze:

  1. OpenTSDB non deteriora i dati nel tempo, a differenza della grafite in cui la dimensione del database è predeterminata.
  2. OpenTSDB può memorizzare metriche al secondo, al contrario di Graphite che ha intervalli di minuti (non ne sono sicuro, i documenti di Graphite mostrano criteri di conservazione che memorizzano metriche ogni minuto, ma non so se questa è l'unità di tempo minima che abbiamo può giocare con)

Voglio prendere una decisione informata su quale strumento utilizzare per memorizzare le metriche, ho perso altre differenze in questi 2 sistemi? Quanto sono performanti / scalabili?

Domanda bonus: c'è qualche altro sistema di serie temporali che dovrei guardare?

Risposte:


46

Disclaimer: ho scritto OpenTSDB .

Direi che il più grande vantaggio della grafite sembra essere la capacità grafica superiore . Offre più tipi di grafici e funzionalità. Complessità di distribuzione è probabilmente un po 'più bassa con la grafite, in quanto non è un sistema distribuito e quindi ha meno parti mobili.

OpenTSDB , d'altra parte, è in grado di memorizzare una quantità significativamente maggiore di punti dati a grana fine. Ciò comporta il costo della distribuzione di HBase , che non è un grosso problema per essere onesti. Se vuoi ottenere i dati in tempo reale fino al secondo con >> 10k nuovi punti / i di dati, allora OpenTSDB si adatta bene a te.

Alcune informazioni sulla nostra bilancia attuale su StumbleUpon (questi numeri generalmente raddoppiano ogni 2-3 mesi):

  • Oltre 1 B di nuovi punti dati al giorno (= 12k / s in media).
  • Centinaia di miliardi di punti dati memorizzati.
  • Meno di 2 TB di spazio su disco consumato (prima della replica 3x da HDFS).
  • Le query di lettura sono generalmente in grado di recuperare, eseguire il munging e tracciare oltre 500k punti dati al secondo.

3
L'intervallo di grafite è configurabile. In genere utilizzo periodi di monitoraggio di 10 secondi. E i grafici sono davvero dolci. Altrimenti, penso che la risposta di Tsuna sia bang-on
Travis Bear il

19

Interfaccia utente

La grafite ha alcuni strumenti grafici eccellenti disponibili. L'interfaccia web predefinita è brutta (anche se funzionale), ma hai quindi una vasta gamma di fantastiche opzioni di grafica e dashboard.

Alcuni esempi:

  • Dashboard di Grafana , con grafici dinamici (zoomabili)

esempio di dashboard grafana

esempio di dashboard di Graph Explorer

esempio di grafico cubism.js

Guarda qui o qui per trovarne molti altri.

OpenTSDB dall'altro è ancora allo stadio gnuplot: Interfaccia web di OpenTSDB

Impostare

In pratica, la grafite è in realtà molto più difficile da configurare rispetto a HBase + OpenTSDB. OpenTSDB ha una documentazione completa e alcuni semplici passaggi. Questi sono i comandi per installare Graphite , le cose diventano ancora più complicate se costruisci dal sorgente.

Prestazioni

OpenTSDB non deteriora i dati nel tempo, a differenza della grafite in cui la dimensione del database è predeterminata.

Vero. Anche Graphite utilizza un formato di file simile a RRD, in pratica questo significa che un singolo punto dati occuperà tanto spazio su disco quanto la serie a tempo pieno poiché questo spazio è pre-allocato. Questo significa anche che tracciare un intervallo di tempo vuoto richiederà tanto tempo quanto se ci fossero dei dati lì (un motore di archiviazione alternativo, Ceres , è nel lavoro ma non l'ho ancora provato).

Come ha affermato Tsuna, OpenTSDB ti consentirà di archiviare molti più punti dati, sfruttando la potenza dell'HDFS di Hadoop. D'altro canto, la grafite, la cui architettura è dettagliata in questo capitolo dell'AOSA , è una soluzione più ad hoc.

OpenTSDB può memorizzare metriche al secondo, al contrario della grafite che ha intervalli di minuti.

No, entrambi possono accedere al secondo.


1
sembra che opentsdb sia ottimo per l'archiviazione dei dati e la grafite sia la migliore per la rappresentazione grafica. È possibile puntare la grafite su opentsdb per il backend. Sarei curioso di vedere se qualcuno fosse in grado di connettersi a opentsdb dalla grafite.
user1471980

4
Nota che Grafana supporta anche OpenTSDB e ci sono altri frontend interessanti per OpenTSDB come metrilyx .
Wilfred Hughes,

@WilfredHughes fa un buon punto su Grafana che supporta OpenTSDB. Si noti inoltre che OpenTSDB può memorizzare con precisione in millisecondi.
Nicholas
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.