nw  

CoMo Telegate Redesign

Zusammenfassung

Bei der Swisscom ist eine bestehende Applikation Namens Telegate im Einsatz. Diese basiert auf Telegraf und dem Prometheus Pushgateway. Allerdings ist Telegate veraltet und die Wartbarkeit kann nicht mehr gewährleistet werden. Aus diesem Grund sollte mit diesem Projekt ein Redesign vorgenommen werden. Als Resultat wurde ein Prototyp eines Frameworks zum Sammeln von Metriken unter Anwendung eines Push-Ansatzes entwickelt. Dabei wurde insbesondere auf die Wartbarkeit geachtet.

Schlüsselbegriffe

Zielsetzung

Das Ziel war es einen Prototypen zu entwickeln, der das Sammeln von Metriken unter Anwendung eines Push-Ansatzes ermöglicht. Der Prototyp sollte alle Hauptanwendungsfälle abdecken und gleichzeitig die Wartbarkeit dieses Frameworks maximieren.

Ausgangslage

Bei der Swisscom wird im Umfeld der Infrastruktur-, Service- und Applikationsüberwachung aktuell eine Komponente namens Telegate eingesetzt. Die Systeme senden (push) ihre Metriken zum Telegate, dort werden die Metriken zwischengespeichert und in regelmässigen Abständen von der Überwachungssoftware Prometheus abgeholt (pull).

Telegate wurde bereits vor mehreren Jahren auf Basis von Telegraf entwickelt und seither nicht mehr aktualisiert. Die Komponente ist deshalb veraltet. Auf Grund der Komplexität der bisherigen Lösung und fehlendem Knowhow im Betriebsteam, ist die Wartbarkeit nicht mehr gewährleistet. Dazu kamen in den letzten Jahren Stabilitätsprobleme. Diese zeigten sich, insbesondere wenn Anwender viele Metriken an den Telegate sendeten. Ausserdem gibt es Probleme mit Features (z.B. Metrik expiration), die nicht korrekt funktionieren. All das führt im Betrieb der Komponente zu aufwändigen Analysen, die dann oft nur in einem Workaround statt in einer richtigen Lösung enden.

Ergebnisse

Als Resultat entstand ein lauffähiger Prototyp für eine neue Pushgateway-Lösung. Diese besteht aus zwei Komponenten: Einem selbst entwickelten Service (pgw-service) und dem Prometheus Pushgateway. Der Service kommuniziert via HTTP mit dem Prometheus Pushgateway, der ein REST ähnliches Interface anbietet. Während dem Projekt wurden zwei Module in den Service eingebaut. Das Expiration Modul löscht alle Metriken vom Pushgateway, welche älter sind als ein definierter Schwellwert. Das Authentication Modul ermöglicht es unter Angabe von Basic Authentication Credentials Metriken an den pgw-service zu senden. Der Service nimmt die Metriken entgegen und leitet sie an den Pushgateway weiter. Dank dem Framework-Ansatz der für den Service verwendet wurde, lassen sich leicht neue Module hinzufügen.

Projektdaten

Auftraggeber

Auftraggeber des Projektes war Daniel Winter. Er ist Product Owner im Continuous Monitoring (CoMo) Team der Swisscom.

Swisscom AG
Alte Tiefenaustrasse 6
CH-3050 Bern
www.swisscom.ch

Projektteam

Kontakt

Prof. Dr. Jürg Luthiger juerg.luthiger@fhnw.ch

<< zurück