Overview & Documentation of Graphite

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.