I'm not sure they're comparable. I did the same evaluation, one of the many criteria that I had is a system that can handle many, many data points from many hosts (at the peak we had 50 production machines) and provide robust flexible queries over them; with almost 0 maintenance/configuration.
Metrics are created dynamically, the Graphite database is optimized for this problem (more optimized than RRD - although it seems that recent versions of RRD closed the gap), and it can take a beating in terms of scale.
A single Graphite instance does this effortlessly.
Comments
I haven't notice that Graphite is written in python, this is a plus (since we have several projects in python).
However, why should I prefer Graphite over, for eg, Munin? It's still open source but also has a proper documentation.
I'm not sure they're comparable. I did the same evaluation, one of the many criteria that I had is a system that can handle many, many data points from many hosts (at the peak we had 50 production machines) and provide robust flexible queries over them; with almost 0 maintenance/configuration. Metrics are created dynamically, the Graphite database is optimized for this problem (more optimized than RRD - although it seems that recent versions of RRD closed the gap), and it can take a beating in terms of scale. A single Graphite instance does this effortlessly.
Mmm, not bad, not bad at all.
It doesn't support alarms, right?
Graphite is not a monitoring tool. It stores time series data and graphs it.
You can write a monitoring system that queries Graphite, and send notifications from there. Graphite can give you the raw data that backs the graphs:
http://graphite.readthedocs.org/en/latest/url-api.html#rawda...