Using Google Charts for Cluster Performance Monitoring
I’ve been looking at replacing Munin with our own higher level proprietary monitoring system for keeping track of cluster-wide statistics.
This is needed for a new feature we’re trying to ship with Spinn3r so that we can expose some of our internal statistics to our customers.
We weren’t able to do this before because our internal monitoring was a bit of a hack due to the lack of quality in the open source monitoring tool chain.
About 80% of the work in a performance monitoring tool is in the charting component and I’m glad to see that the Google chart API basically rocks.
It’s very well done. The only real complaint I have is that you can’t submit a URL longer than 2000 bytes. It seems like a limitation in their own internal tool as Firefox, Safari, etc can support URLs up to 65k.
This limitation is more pathological than you would think because you can’t place two metrics on top of each other in the same graph. They need to move into two separate graphs or you’ll generate a long URL and Google will return an HTTP 40x response.
The other cool thing is the API is FAST. Check out the render time of this chart which is 300k pixels….
I can now render graphs in about .09 seconds which is an order of magnitude faster than Munin with rrdgraph on a quad core Opteron with a 2.6Ghz processor.
I hope they do something about exposing the component used with Google Finance. It is pretty sweet as well.