Graphite = Scalable Realtime Graphing
Graphite brauchen wir, um die von Collectd gesammelten System-Performance-Statistiken unserer Hosts darzustellen.
Graphite hat 2 Aufgaben:
- Speichert die gesammelten Daten von Collectd
- Rendert daraus graphiken "on Demand"
Graphite besteht aus 3 Komponenten:
- carbon - ein daemon, der auf die daten von collectd lauscht
- whisper - speichert die gesammelten Daten
- 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:
- /etc/default/graphite-carbon
- /etc/carbon/carbon.conf
/etc/carbon/storage-schemas.conf <-- sehr wichtig!!
- /etc/apache2/site-available/monitoring.mur.at.conf
Wenn man /etc/carbon/storage-schemas.conf modifiziert hat, dann service carbon-cache start
Files sind zu finden hier:
- /usr/share/graphite-web/
- /var/lib/graphite/whisper/
- /usr/lib/python2.7/dist-packages/graphite/
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