TP3.2: Integriertes Monitoring (Infrastruktur, Dienste, Geschäft)



Das Teilprojekt Integriertes Monitoring (TP 3.2) behandelt im Rahmen von Mobilitätsdienste-Plattformen Betriebs-Aspekte, insbesondere das Monitoring von Diensteplattformen und darauf Bezug nehmende relevante Architektur Aspekte. Agile Entwicklungsprozesse und technologische Fortschritte auf den Gebieten Big Data und Maschinelles Lernen unterstützen DevOps das Nutzererlebnis sowie interne Prozesse zu optimieren. DevOps und verwandte Stakeholder können unterstützt werden durch eine ganzheitliche Ansicht auf die Architektur und das Laufzeitverhalten.


Abbildung 1: Platform Architektur Management
Das Bereitstellen einer ganzheitlichen Ansicht auf komplexe Plattformen, IT-Landschaften oder Systeme von Systemen ist eine große Herausforderung, da Architekturinformationen, wie Hardware, Software, Geschäftsprozesse und deren Abhängigkeiten selten epxlizit dokumentiert vorliegen. Eine weitere Herausforderung liegt in der Vielfalt spezialisierter Monitoring-Lösungen für Infrastruktur, Anwendungen, Geschäftsprozesse (QoS) und Geschäftsprozess-Mining. Alle Lösungen spezialisieren sich auf eine bestimmte Abstraktionsschicht und ignorieren das Kommunikationsverhalten zwischen Schichten. Diese Verknüpfung ist wenn überhaupt nur in EA Tools und CMDBs gespeichert und fehlt vollständig im laufenden Betrieb der Platform. Aus diesem Grund ist es mit bestehenden Tools schwierig eine Transaktion die von einem bestimmten Benutzer im Rahmen eines Geschäftsprozesses ausgeführt wird über die Microservices hinweg zu verfolgen und Performance Bottlenecks auf Miroservice Ebene zu identifizieren. Ebenfalls ist nicht erkennbar, welchen Einfluss eine Transaktion auf das Hardwareverhalten hat. Diese fehlende Information macht es schwierig eine ganzheitliche Sicht auf den Status und das Verhalten der Platform zu bekommen.

Basierend auf den oben genannten Herausforderungen liegen die Ziele des Forschungsprojekts TP 3.2 auf 1) die Untersuchung von Best Practices für das Überwachen von verteilten Services insbesondere Microservices und 2) die Entwicklung eines Prototypen für die multi-layer Echtzeit-Instrumentierung einer verteilten Microservice Umgebung. Hierbei werden vertikale Anwendungsfälle untersucht, die mehrere Abstraktionsschichten involvieren wie bspw. Fehlerursachenanalyse, Impactanalyse und die Verfolgung von Benutzertransaktion. Horizontale Anwendungsfälle adressieren eine bestimmte Abstraktionsschicht. Hierzu zählen Business Process Mining, Application Performance Monitoring und Hardwaremonitoring.

Abbildung 3: Anwendungsfälle
Für die Erstellung des Protoypen kommen verschiedene Technologien zum Einsatz. Die von den Monitoring Agenten extrahierten Daten liegen entweder in strukturierter (Metriken, Tracingdaten, Stati) oder in semistrukturierter Form (Logdaten) vor. Diese Daten werden über eine Streaming Pipeline (Kafka, Telegraf) in verschiedene Datenbanken gespeichert. Elasticsearch eignet sich hierbei gut um Logdaten zu indexieren. InfluxDB prozessiert Metriken sehr effizient. Für ressourcenintensive Analysen wird ein Hadoop Cluster verwendet. Ein Platform Architecture Repository speichert die statischen Modelle ab und verknüpft die Echtzeitdaten aus den verschiedenen Abstrationsebenen. Diese Verknüpfung ist notwendig, um eine ganzheitliche Sicht auf das dynamische Verhalten der Platform zu bekommen. Anschließend werden die oben genannten Analysen auf die Modelle angewendet und die Ergebnisse in geeigneter Form visuell dargestellt. Die Visualisierung der Monitoring Daten wird im Teilprojekt TP 3.3 im Detail behandelt.

Abbildung 2: Multi-level Monitoring



Literatur
– Kleehaus, M.; Uludağ, Ö.; Matthes, F.: Towards a Multi-Layer IT Infrastructure Monitoring Approach based on Enterprise Architecture Information, 2nd Workshop on Continuous Software Engineering: SE, Hannover, 2017
– Landthaler, J.; Kleehaus, M.; Matthes, F.: Multi-level Event And Anomaly Correlation Based on Enterprise Architecture Information, 12th International Workshop on Enterprise & Organizational Modeling and Simulation: EOMAS, Ljubljana, Slovenia, 2016


Thesis
Jochen Graeff: Eine Kombination von Process Mining und Distributed Tracing zur Unterstützung der Fehler-Ursachen-Analyse