What is the use of relational database in Graphite when there is whisper database library?

Asked by Marshell Rodrigues

I am using Graphite to monitor my services. I send real time metric data to Carbon-cache which then stores data points using the whisper library into a .wsp file.

I believe graphite has a default graphite-web app built using Django that reads data from the .wsp file and display it in form of graph ? Then why does it use a relational database does it save the data points in it or does it save the graph the admin creates ? I don't understand the use of a relation database here because graphite saves data into a .wsp whisper file so why do we need a database ?

Also I have a nodeJS app that sends data to graphite every 5 minutes works perfect!. However, i want to send past historic data too so i wrote another simple nodejs app to sent 2 months of past data to graphite it went in fine i can even see data but what happens is when i say show me last 2 weeks data on graph i can only see the data that was sent from my node app that send every 5 min not the historic past data that was sent from my other mynodejs app and vice versa? does it have to do something with the way i have set my storage schema ? How do i send past data cos i cannot afford to run it every 5 minutes since i have almost 5000 records like that which will take me couple of day ?

/etc/carbon/storage-schemas.conf

[sqldbypassigned ]
pattern = capacity\.assigned$
retentions = 5m:1d,10m:30d,60m:3y

Question information

Language:
English Edit question
Status:
Answered
For:
Graphite Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Jason Dixon (jason-dixongroup) said :
#1

The relational database is used to store user accounts and configuration/metadata for graphs and dashboards. It also stores events because Whisper is only desiged to store flat time-series data.

With regards to your second question, Graphite expects a datapoint for every timestamp in each retention level. That is to say, if you don't send a datapoint for every 5min interval at your highest granularity, the it may rollup into "None" at the next lower retention level. My blog post at http://obfuscurity.com/2012/04/Unhelpful-Graphite-Tip-9 may explain this a little better.

Can you help with this problem?

Provide an answer of your own, or ask Marshell Rodrigues for more information if necessary.

To post a message you must log in.