Post

Graphite: Ein kleiner Einstieg

Auf meiner Suche nach geeigneter Software, um den Zustand von Remote Computersystemen zu überwachen, bin ich auf Graphite gestoßen. Dies ist ein kleiner Write-Up aus meinen Recherchenotizen.

Graphite (Software)

Graphite ist eine Open-Source-Software, die zur Erstellung von Dashboards geeignet, um die Leistung von anderen Computersystemen zu überwachen.

  • Monitoring
  • Graphische Aufzeichnung

Graphite sammelt, speichert und stellt Timeseries Daten in Echtzeit dar. Ähnlich dazu ist Grafana. Graphite besteht aus drei Hauptkomponenten:

  • Carbon - Daemon, der auf Timeseries-Daten horcht (twisted)
  • Whisper - Datenbank spezialisiert auf timeseries-Daten
  • Graphite Webapp - Frontend (django, Cairo)

Übliche Use-Cases sind Performance-Tracking von Webseiten, Anwendungen, Services, Servern. Graphite wird u.A. benutzt von Etsy, Booking.com, reddit, salesforce, lyft, GitHub und Simple.

Architektur

Von graphiteapp.org:

Graphite Architekturdiagramm

Setup (docker)

Aus der Dokumentation:

1
2
3
4
5
6
7
8
9
docker run -d \
 --name graphite \
 --restart=always \
 -p 80:80 \
 -p 2003-2004:2003-2004 \
 -p 2023-2024:2023-2024 \
 -p 8125:8125/udp \
 -p 8126:8126 \
 graphiteapp/graphite-statsd

Start

Das Graphite-Frontend ist auf Port 80 erreichbar. Wenn Graphite lokal gestartet wurde (oder ein entsprechender Forward eingerichtet wurde), ist Graphite erreichbar unter localhost:80

Benutzung

Dokumentation

Beispiel:

  • Starte Graphite, öffne das Webinterface.
  • Poste ein Event, z.B. per Terminal:
1
curl -X POST http://localhost/events -d'{"what": "Something interesting", "tags": "tag1"}'
  • Klicke auf den “Events”-Reiter im Webinterface
  • Siehe, dass das gerade gepostete Event in der Auflistung erscheint.
This post is licensed under CC BY 4.0 by the author.