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:
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
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.