The common things you'd want to do in Graphite will be easy, more complex things requires knowledge which isn't in the docs, but easily found if you're willing to invest the time in searching and reading code.
Of course everyone would like great documentation; however some open source projects may not have the time for everything -- and that's ok, because its all free and full of love.
Graphite is a great engineering achievement, and an awesome tool to have. Give it a try, even though it lacks documentation at this stage.
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
The common things you'd want to do in Graphite will be easy, more complex things requires knowledge which isn't in the docs, but easily found if you're willing to invest the time in searching and reading code. Of course everyone would like great documentation; however some open source projects may not have the time for everything -- and that's ok, because its all free and full of love. Graphite is a great engineering achievement, and an awesome tool to have. Give it a try, even though it lacks documentation at this stage.
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...