People love or hate Graphite and whatever might be you advice on it, it’s huge part of the open source monitoring ecosystem. We use it extensively at Criteo and the default clustering features reached their limits for us.
Gluing things together we came up with BigGraphite, a set of Graphite plugins to integrate it with Cassandra and leverage its high-availability, fault tolerance and administrative features.
Graphite works using the push model, where applications send points periodically to a metric receiver. It also has fixed period retention and doesn’t allow (or work well with) dynamic resolutions. This means that applications usually send their metrics every minutes or so.
Graphs are then rendered using Graphite Web directly, or using a frontend such as Grafana.