Abstracts


200 Millionen Messwerte pro Tag: App-Monitoring bei RTLs "wer-kennt-wen.de"

Referent:Jan Doberstein, Dieter Schmid, wer-kennt-wen.de
Termin:Mi. 31.8.2011
Themengruppe:Track: Auftritt verbessern - Webserver optimieren
Abstract: Die Überwachung einer der größten deutschen Communities hält eine Reihe von Herausforderungen für Entwickler und Sysops bereit. Wir ermitteln bei der derzeitigen Anzahl an Servern und ausschließlichen Messung der notwendigen Metriken über 200 Millionen Messpunkte pro Tag.

Die Herausforderungen für das Operations-Team liegen in der

* Sammlung und Aggregation
* Visualisierung
* Speicherung
* Auswertung
* Alarmierung

Das alte Monitoringsystem von wer-kennt-wen.de war aus einer gewachsenen Struktur heraus in eine Sackgasse unterwegs. Diesen Prozess mussten wir aufhalten und das alte System mit mehr Features ausstatten sowie skalierbar und robust
machen.

Als Beispiel sei hier *Cacti* erwähnt, das für sich genommen einen sehr guten Funktionsumfang bietet und viele Belange erfüllt (SNMP, eigene Scripts, RRD-Graphen). Jedoch ist es aufgrund seiner Stabilität und der zugrundeliegenden
Architektur für sehr große Systeme nicht geeignet. Der sequentiell arbeitende Poller hat in unserer Installation schon sehr oft zu falschen Daten geführt, die durch Überschreiten des 5 Minuten-Poller-Intervalls bei Lastspitzen
zustande kommen. Alle Metrik-Daten werden in schlecht auszuwertenden RRD-Dateien gespeichert, die zwar für die Visualisierung geeignet sind, jedoch nicht für Datamining. Eine dynamische Erhöhung der Metrik-Auflösung zu
Debugging-Zwecken ist nicht möglich, ebenso wenig eine 'Live-Visualisierung'. Die Software selbst ist in fast nicht mehr zu wartendem PHP-Code geschrieben, die das Erweitern des Produktes für unsere eigenen Zwecke sehr erschwert.

Aus dieser Problematik heraus haben wir beschlossen, unsere eigene Lösung zu bauen. Dazu kombinieren wir aus bestehenden FOSS-Anwendungen unser verteiltes Monitoring System *Grocksta*.

*Grocksta* ist ein verteiltes, asynchrones Monitoring-, Graphing- und Aggregations-System.

*Grocksta* verbindet

* Realtime Graphing
* Metrik-Queueing
* Metrik-Sammlung
* Nagios-Alarmierung
* verlustfreie Speicherung (frei definierbarer Länge)

zu einer integrierten Lösung für Entwickler und Sysops.

Eine Besonderheit des Systems liegt in der Entstehungsgeschichte. Unser Entwicklungs- und Sysop-Team hat dabei als Devop-Team zusammengearbeitet. Dadurch unterstützt *Grocksta* Applikations-Events und Business-KPI, ohne dass teure
Datenbankauswertungen o.ä. nötig sind, genauso wie z.B. durch *Munin* gesammelte Maschinendaten. Durch die gewählte Visualisierung können Informationen zu jedem Zeitpunkt zu jeder anderen Information in Relation gestellt werden,
sowohl für die Vergangenheit als auch in nahezu Echtzeit.

Derzeit sind wir mit Grocksta noch in einer frühen Alpha-Phase, es zeichnet sich jedoch jetzt schon der ab, dass sich unsere Investition in eine automatisierbare Lösung lohnen werden. Gerade für die Anwendungsentwickler wird es jetzt
ohne jegliche Agents möglich Metriken ins System einzuspeisen.

In einer zukünftigen Version planen wir Solr als Volltextindexer einzubinden.Damit können Logmeldungen im Klartext und nicht nur als Events behandeln und durchsucht werden.