Graphite - Scalable Realtime Graphing
Graphite is an Open Source Graphing solution that is designed for flexibility and performance. Thus, Graphite is suitable not only for acquiring data from a monitoring system like Nagios or Icinga, but can also be used in conjunction with any other tool stacks.
- Open Source
- Very fast and stable
- Large Community
- Extensive API
- Various web front-ends for all applications
- Direct connection to Icinga 2
Fast and flexible storage
The majority of the graphing solutions used today are currently using a RRD backend ( PNP4Nagios ). RRDs are fast, but offer little flexibility in the processing of historical data. Databases are in comparison much more flexible in processing, but can result in performance problems especially in large environments.
For this reason, the makers of graphite have taken the best of both camps and developed a database called Whisper. This Python based solutions share many features with RRD, but handles the storage of values differently.
Besides being able to process historical data, high-traffic data is kept in memory (Carbon) and is transferred optimized over to whisper. In future versions of Graphite Whisper will be replaced by the new storage engine Ceres. This solution - currently still in development - allowes in addition to Whisper to dynamically allocate storage space and distribution of data among multiple servers.