Vögel zwitschern, die Sonne geht auf, und die Nachtverarbeitung arbeitet in den Tag hinein. Damit legt sie den Tagesbetrieb lahm. Es folgt: Ein böser aber berechtigter Anruf aus einem der Versicherungsunternehmen, die zu unseren Kund*innen gehören. Oder gleich aus allen. Das ist dann ein Fail mit zwei Armen und zwei Beinen statt einer langen Fehlernummer.
Damit solche Szenarien schnell erkannt und behoben werden können, betreiben Softwarehäuser wie die twinformatics Monitoring. Dabei wird in Echtzeit beobachtet, wie die Systeme gerade arbeiten, ob alles rund läuft und ob sich Probleme abzeichnen.
Hier kommt Prometheus
Wer den Menschen das Feuer brachte und dafür unbotmäßig von Zeus misshandelt wurde, wissen wir. Unser Prometheus hat es da leichter. Der sammelt nämlich Daten. Die holt er sich an Monitoring-Endpunkten, sogenannten Exportern. Dann legt er sie in einer zeitbasierenden Datenbasis ab.
Das bietet viele Funktionen zur Auswertung der Daten an. Es kann mit unterschiedlichen Visualisierungstools, präferiert Grafana, eingesetzt werden. Die beiden vertragen sich überhaupt gut und arbeiten Hand in Hand, der Datensammler und Grafana, seine bevorzugte Visualisierungslösung.
SAP: Das Problem mit dem Exporter
Das alles funktioniert reibungslos, denn es gibt viele Exporter wie zum Beispiel Betriebssystemmetriken oder Dockermetriken. Falls man eigene Software bevorzugt, gibt es für viele Programmiersprachen Client-Bibliotheken. Umfassendes Monitoring hängt also allein vom eigenen Bedarf ab. Es gibt allerdings eine Riesenlücke:
Für SAP funktioniert das alles nicht,
weil es von SAP selbst hin zu Prometheus keinen Exporter gibt, der unsere Anforderungen abdeckt.
Genau hier haben wir angesetzt. Das Team Application Integration hat eine leichtgewichtige Client-Bibliothek und einen Exporter für SAP geschrieben und so die Integration für viele SAP- Systeme möglich gemacht. Damit ist es nun möglich, aus SAP heraus direkt einen Metriksatz für Monitoringzwecke selbst zur Verfügung zu stellen.
Was ist der Vorteil der Client-Bibliotheken?
Mithilfe der Bibliothek lassen sich mühelos Metriken hin zum Monitoring exportieren. Übersetzt heißt das: Man muss das Rad nicht neu erfinden, sondern setzt einfach ein, was schon da ist. Das hat eine Menge Vorteile:
- Die Integration ist ab der Entwicklung gegeben.
- Die Metriken können sofort visualisiert werden.
- Die Bibliothek ist simpel gehalten und handhabt den Dialekt von Prometheus.
- Weg zur Entwicklung und Veröffentlichung ist kürzer und direkt.
- Die Metriken können von jedem genutzt werden.
Weiterführende Infos gibt’s in der Dokumentation.
SAP mittels Prometheus und Grafana zu monitoren, hat eine Menge Vorteile. Einer davon: man kann sich Dashboards für Monitoring selbst zusammenstellen und dabei nur jene Daten nutzen, die man wirklich braucht. Visualisierungen machen das Beobachten der Systemleistung einfacher und effizienter. Mit Prometheus kann man Monitoringobjekte à la carte nach den eigenen Bedürfnissen zusammenstellen.
So könnte zum Beispiel ein verteiltes Monitoring eingerichtet werden, welches Mikroservices und Applikation unterschiedlicher Teams und Zuständigkeiten vereint, um eine gemeinsame Sichtbarkeit zu ermöglichen.
Das I-Tüpfelchen
Aus dem Themenbereich Application Integration werden von uns viele Metriken aus SAF und dem SAP Basissystem zur Verfügung gestellt. Das zeigt indirekt Auswirkung auf Millionen Kunden unserer Versicherungshäuser. So etwa in der Losleben-App, die nicht zufällig zur besten Versicherungs-App Österreichs gewählt wurde. Hier wurde das Performance-Monitoring vom Kunden zurück zur twinformatics verlegt.
Losleben-App
Die Losleben-App ist Österreichs höchstbewertete Versicherungs-App. Das ist nicht nur dem Monitoring zu verdanken, aber stabiler Betrieb trägt natürlich seinen Teil dazu bei. Die App ist nicht nur aus Kundensicht hochmodern, sondern auch unter der glänzenden Oberfläche. Damit alles rund läuft, vertrauen wir verteiltem Monitoring. Damit werden unsere Kund*innen entlastet und die Überwachung der Performance automatisiert.
Software lebt und gehört überwacht. Monitoring sollte schon in der Designphase berücksichtigt werden und ist in der heutigen Welt der Softwareentwicklung und des Betriebes nicht mehr wegzudenken. Es ist essentiell und zeigt, wie ein Service innerhalb und außerhalb seiner Rahmenparameter funktioniert. Es zeigt Schwächen und auch Stärken eines Service auf und hilft, den Mehrwert zu erhalten.
Thomas Hofbauer
Ich bin seit 2005 in der twinformatics tätig. Seit 2013 bin ich Lead Developer und betreue hauptsächlich CrossTools wie unser Middleware Framework SAF. Ich lege dabei sehr viel Wert auf Robustheit und Wartbarkeit.
Für meine Tätigkeit verwende ich vor allem ABAP und ein bisschen JAVA sowie Technologien wie Docker, REST, OpenAPI, Python, Perl und verschiedene Datenbanken.
Persönlich schrecke ich vor keinen Experimenten zurück. Zum Beispiel vor einem Hausbau, der mich viele neue Fähigkeiten gelehrt hat. Das schlägt natürlich zurück auf den beruflichen Alltag: ‘Geht nicht’? Gibts nicht!