Sto usando statsd (l'ultima versione dal ramo master di git) con grafite (0.9.10) come back-end.Come posso ottenere un grafico di conteggio cumulato con statsd e grafite?
Nel mio codice (Django) chiamo statsd.incr("signups")
quando un utente si registra. Nell'interfaccia web della grafite, ora vedo un bellissimo grafico che mostra il numero di registrazioni al secondo sotto Graphite/stats/iscrizioni. Quando guardo il grafico sotto Graphite/stats_counts/iscrizioni, mi aspetto di vedere il numero totale di registrazioni , ma sembra che sia il numero di registrazioni per intervallo di 10 secondi (che è l'intervallo di aggiornamento di statsd, immagino).
I ha configurato storage-aggregation.conf
, forse ho sbagliato in qualche modo? Inoltre, ho smesso di usare il carbone (non con stop
, ma in realtà l'ho ucciso, poiché apparentemente solo fermarlo non gli permette di ricaricare la configurazione). Ho anche cancellato la directory /opt/graphite/storage/whisper/stats_counts
. Quindi ho riavviato il demone carbon. Ricevo ancora il numero di registrazioni per intervallo di 10 secondi. :-(
Ecco la mia configurazione:
# /opt/graphite/conf/storage-aggregation.conf
[lower]
pattern = \.lower$
xFilesFactor = 0.1
aggregationMethod = min
[upper]
pattern = \.upper$
xFilesFactor = 0.1
aggregationMethod = max
[upper_90]
pattern = \.upper_90$
xFilesFactor = 0.1
aggregationMethod = max
[count]
pattern = \.count$
xFilesFactor = 0
aggregationMethod = sum
[count_ps]
pattern = \.count_ps$
xFilesFactor = 0
aggregationMethod = sum
[sum]
pattern = \.sum$
xFilesFactor = 0
aggregationMethod = sum
[sum_90]
pattern = \.sum_90$
xFilesFactor = 0
aggregationMethod = sum
[stats_counts]
pattern = ^stats_counts\.
xFilesFactor = 0
aggregationMethod = sum
[min]
pattern = \.min$
xFilesFactor = 0.1
aggregationMethod = min
[max]
pattern = \.max$
xFilesFactor = 0.1
aggregationMethod = max
[default_average]
pattern = .*
xFilesFactor = 0.5
aggregationMethod = average
E questo:
# /opt/graphite/conf/storage-schemas.conf
[stats]
priority = 110
pattern = ^stats.*
retentions = 10s:6h,1m:7d,10m:1y
sto iniziando a pensare che ho fatto tutto bene e che la grafite è davvero facendo quello che si suppone essere Quindi la domanda è:
Qual è il modo corretto di configurare statsd & grafite per disegnare il numero totale di signu ps dall'inizio del tempo?
Credo che avrei potuto cambiare il mio codice di Django per contare il numero totale di utenti, una volta ogni tanto, e quindi utilizzare un gauge
invece di un incr
, ma ci si sente come la grafite dovrebbe essere in grado di riassumere solo su qualunque cosa riceve, al volo, non solo quando aggrega i dati.
Edit:
Utilizzando l'interfaccia web di grafite, il compositore Grafite, ho applicato la funzione integral
ai "iscrizioni al secondo" di base del grafico (in grafite/stats/iscrizioni), e ho avuto la desiderata grafico (cioè il numero totale di registrazioni). È questo il modo appropriato per ottenere un grafico cumulativo? È fastidioso perché ho bisogno di selezionare l'intervallo di date completo dall'inizio del tempo, non riesco a zoomare sul grafico, altrimenti ho appena ottenuto l'integrale della parte ingrandita. :-(