I am planning to use Graphite to monitor various services. I am trying to understand the architecture of how Graphite works. below is my understanding:
Whisper : This stores data into database in the form of time series. Database can be any example sqlite, Mysql Db2 etc ?
Carbon: Listens to metric data which then sends to whisper to save in the database ? So does this mean i can write a program in any programming language to send metric data to carbon ? What all parameter do i need in-order to connect to carbon and send data ?
Graphite-webapp: Does Graphite-webapp reads the time series data stored in the database by whisper ? Will it create the graph/charts by itself ? Or do we need to program in python to display graph ? How do we create the KPI dashboard that will display the charts ?
All i did was read through the documentation, can someone help me understand the architecture of Graphite ? What all tools/framework can i use ? I am more of a Java/PHP/NODEJS dev thus trying to avoid python as much as possible:), tutorial or sample example would be perfect.
I have data in the format below saved as a flat file that i need to send to graphite in order to display charts.
DATE TIME Col1 Col2
2014-07-04 04:05:10 499 303
I'm sorry for my poor English.
A great article about graphite architecture
And I have used graphite to monitor spider cluster. Below is the some point you mentioned.
sqlite, Mysql, postgresql is OK. I don't know DB2, Because few people use django and DB2 together (Graphite-webapp is a django app).
I think you can write a program in any programming language to send metric data to carbon. Because you send data to carbon by TCP connection.
Graphite-webapp is a django project. Almost all you need to do , is install it, May be some python work about settings.
By the way, The official documents is great.