Graphite = Scalable Realtime Graphing

Graphite brauchen wir, um die von Collectd gesammelten System-Performance-Statistiken unserer Hosts darzustellen.

Graphite hat 2 Aufgaben:

  1. Speichert die gesammelten Daten von Collectd
  2. Rendert daraus graphiken "on Demand"

Graphite besteht aus 3 Komponenten:

  1. carbon - ein daemon, der auf die daten von collectd lauscht
  2. whisper - speichert die gesammelten Daten
  3. graphite-web - eine django webapp, die die graphiken rendert

Installation

Mit folgendem Befehl kommt schon alles notwendige mit:

sudo apt-get install graphite-web graphite-carbon

Obwohl Graphite whisper als db für seine Daten verwendet, braucht django eine db um seine Daten zu speichern - wir verwenden postgresql. Beim Installationsprozess legt man eine solche an, zb:

sudo -u postgres psql
CREATE USER graphite WITH PASSWORD '';
CREATE DATABASE graphite WITH OWNER graphite;

Konfiguriert wird das notwendige unter /etc/graphite/local_settings.py

Danach sollte gleich die DB mit der richtigen Struktur versehen werden:

sudo graphite-manage syncdb

Folgende Konfigs gibts noch:

Wenn man /etc/carbon/storage-schemas.conf modifiziert hat, dann service carbon-cache start

Files sind zu finden hier:

Es gibt auch pythonscripte um graphite zu managen, siehe:

python /usr/lib/python2.7/dist-packages/graphite/manage.py --help

ist das gleiche wie

 * graphite-manage --help
 * graphite-manage check <-- schaut nach obs eh ok ist