2015-09-10 25 views

risposta

4

Non ho visto un modo per chiedere a Graphite un singolo valore, ma è possibile chiedere un riepilogo dei valori in un periodo configurabile e prendere l'ultimo. (Questo è solo per ridurre al minimo restituiti i dati, si potrebbe facilmente tirare fuori l'ultimo valore da qualsiasi serie in un dato lasso di tempo.) Esempio di rendering parametri:

target=summarize(a.b.c.count,'1hour','last')&from=-1h&format=json 

Il JSON restituito sarà simile a questa:

[{"target": "summarize(a.b.c.count, \"1hour\", \"last\")", 
    "datapoints": [[5.1333330000000004, 1442160000], 
       [5.5499989999999997, 1442163600]]}] 

Ecco un frammento di Python per recuperare e analizzare questo, utilizzando the 'requests' HTTP library

import requests 
r = requests.get("http://graphite.yourdomain.com/render/?" + 
       "target=summarize(a.b.c.count,'1hour','last')&from=-1h&format=json") 
print r.json()[0][u'datapoints'][-1][0] 
Problemi correlati