Graphite does two things:
- Store numeric time-series data
- Render graphs of this data on demand
What Graphite does not do is collect data for you.
Graphite consists of 3 software components:
- carbon - a Twisted daemon that listens for time-series data
- whisper - a simple database library for storing time-series data (similar in design to RRD)
- graphite webapp - A Django webapp that renders graphs on-demand using Cairo
More on the documentation
Base Components
Storage Backend: whisper
Collector: carbon (cache)
Web and API: graphite-web
Inputs
Feed data into Graphite and the carbon collector. More here and here.
Icinga 2
The graphite
feature.
Alternative components
Collector: go-carbon
Golang implementation of Graphite/Carbon server with classic architecture: Agent → Cache → Persister
More on Github.
Relay: carbon-relay-ng
A relay for carbon streams, in go. Like carbon-relay from the graphite project, except it … performs better …
More on Github.