IBsolution Blog

ELK Stack in SAP Cloud Foundry: Erkenntnisse in Echtzeit

Geschrieben von Mayank Parihar | 6. Juni 2019

Im Zeitalter der Digitalisierung ist es nicht nur wichtig, tiefe Einblicke in die Performance und die Sicherheit von Anwendungen zu gewinnen, sondern auch zu wissen, wie sie sich im geschäftlichen Kontext verhalten. Eine effektive Überwachung und Berichterstattung hilft Unternehmen, die Leistung der Anwendung hoch zu halten. Die Integration und Implementierung eines Überwachungs- und Berichtssystems kann schwierig und teuer sein. SAP bietet eine sofort einsatzbereite Open-Source-Software-Integration als Lösung für eine bessere Entwicklungsumgebung auf der SAP Cloud Platform.

 

Anwendungs- und Fachdaten

Die Entwicklungsumgebung SAP Cloud Foundry stellt eine Open-Source-Lösung Elastic Stack (Elasticsearch, Logstash, Kibana = ELK) bereit, um Anwendungslogdaten aus Cloud-Foundry-Anwendungen zu speichern, zu analysieren und zu visualisieren. Der ELK Stack liefert aus nahezu jeder Quelle von strukturierten und unstrukturierten Daten aussagekräftige Erkenntnisse in Echtzeit. Die vorimplementierte Lösung macht das Suchen und Analysieren von Daten besonders einfach.

 

Mit den exzellenten Protokollierungsdiensten und dem Kibana-Dashboard können Entwickler KPIs und Visualisierungen für geschäftsrelevanten Aspekte (zum Beispiel verwendete Features, Käufe, Reaktionszeiten, SLA) implementieren. Wie viele Benutzer haben sich innerhalb eines Zeitraums registriert? Wie viele Produkte werden über einen bestimmten Zeitraum verkauft? Wie viele Serviceanforderungen werden im Laufe der Zeit generiert? Etc.

 

Vielfältige Möglichkeiten für Visualisierung

SAP Cloud Foundry stellt Protokollbibliotheken bereit, um Anwendungsprotokolle auszusenden, während die Anwendung in Cloud Foundry läuft. Der Loggregator sammelt die Logs und streamt sie in die Software Logstash. Diese bereinigt und transformiert die Daten mittels Muster-Matching, Geo-Mapping und dynamischem Nachschlagewerk. Die bereinigten und transformierten Daten werden als JSON-Daten an die Elasticsearch-Datenbank übertragen. Anschließend kann der Benutzer über die Kibana-Webschnittstelle Daten in Form von Balkendiagrammen, Kreisdiagrammen, Flächendiagrammen, Heat Maps etc. visualisieren.

 

Abbildung 1

 

SAP Cloud Foundry bietet ein komfortables Tool, um Anwendungsprotokolle zu verfolgen und zu analysieren, sobald die Anwendung mit der richtigen Protokollierung bereitgestellt wird. Die von der Anwendung während der Ausführung gesendeten Protokolle können über das Kibana-Tool im Discovery-Untermenü visualisiert und analysiert werden (siehe Ziffer 1 in Abbildung 2).

 

Für die Protokollanalyse kann das Intervall der verfügbaren Protokolldateien auf einen bestimmten Zeitraum (von … bis …, Anzahl der Tage/Wochen/Monate/Jahre) festgelegt werden. Das Aktualisierungsintervall für die Live-Analyse lässt sich ebenfalls wählen. (siehe Ziffer 2 in Abbildung 2).

 

In tabellarischer Form

Logstash sammelt die Protokolle aus der Anwendung im JSON-Format, analysiert sie und speichert sie in Elasticsearch-Datenbankindizes als unstrukturierte Dokumente (Felder (Schlüssel) und Wertepaar). Der Anwender kann die für ihn relevanten Felder aus den verfügbaren auswählen und die Protokolle in tabellarischer Form analysieren (siehe Ziffern 3 und 4 in Abbildung 2). Die Anordnung als Tabelle verbessert die Übersichtlichkeit bei der Suche nach hilfreichen Daten über die Anwendung.

 

Die Kibana Query Language (KQL) hilft, Protokolle zu durchsuchen, zu filtern und effektiv einzugrenzen (siehe Ziffer 5 in Abbildung 2). KQL kann für das Indexfeld durch Optionen aktiviert werden, die im Eingabefeld der Abfrage vorhanden sind. Das Discovery-Tool in Kibana ist ein sehr praktisches Werkzeug, um die Protokolle nach Indexfeldern und Abfragesprache (KQL) zu durchsuchen, was mit dem Konsolenprogramm von Cloud Foundry nicht möglich ist (cf log <App Name> --recent). Mit Kibana Discovery (Abbildung 2) werden die Anforderungsprotokolle für den HTTP-Endpunkt „/order“ gefiltert und abgefragt.

 

Abbildung 2

 

Präziser Überblick im Dashboard

Infrastruktur und Anwendungen sind untrennbar miteinander verbunden und beeinflussen sich gegenseitig. Im Idealfall zeigt das verwendete Monitoring-Tool die Leistungsdaten in Echtzeit auf einen Blick an. Auf diese Weise können Zusammenhänge schnell erkannt und größere Fehler vermieden werden. Das Kibana-Dashboard bietet einen präzisen Überblick über die Anwendung. Die Informationen über die Auslastung der Infrastruktur können überwacht werden und das Entwicklerteam kann zeitbasierte Benutzermuster für die Infrastruktur überprüfen. Basierend auf diesen Informationen über die Auslastung der Infrastruktur, entscheiden die Entwicklerteams und das Management, ob im Laufe der Zeit mehr Ressourcen für die Anwendung benötigt werden. Das Entwicklerteam kann sich für ein horizontales Upscaling von Microservices für häufig genutzte Dienste entscheiden.

 

Das Dashboard der SAP Cloud Foundry Kibana liefert wichtige Informationen über die Anwendung und Infrastruktur.

  • Nutzung
  • Leistung und Qualität
  • Netzwerk und Last
  • Anfragen und Protokolle
  • Statik und Metrik von Anwendung und Infrastruktur
  • Fehler, Exceptions und Ausfällen

 

Abbildung 3 zeigt die Übersicht zu einer Komponente des Kibana-Dashboards, das SAP Cloud Foundry für die Anwendungs- und Infrastrukturüberwachung bereitstellt.

 

Abbildung 3

 

In die Daten eintauchen

Von der Finanz- und Verhaltensanalyse über die Nutzungsüberwachung bis hin zur Performance von Marketinginhalten erhalten Anwender mit dem SAP Cloud Foundry Elastic Stack tiefere Einblicke in ihre Daten. ELK ist ein skalierbarer, plattformübergreifender Analyse-Engine. Kibana bietet maßgeschneiderte Dashboards mit Messgeräten, Liniendiagrammen, Karten und mehr, um leistungsstarke Bereiche zu identifizieren, Verkaufstrichter (Sales Funnels) zu analysieren und die Funktionalität der Website zu verbessern - in Echtzeit.

 

Mithilfe der benutzerdefinierten Protokollierungsbibliothek lassen sich Protokolle erstellen, die geschäftskritische Metriken liefern. Solche Protokolle können effektiv genutzt werden, um maßgeschneiderte geschäftsbezogene Dashboards zu erstellen. Geschäftsbezogene Dashboards geben Anwendern einen Überblick über geschäftskritische Kennzahlen und Erkenntnisse. Die User können den Traffic auf der Website und die Auswirkungen auf das Unternehmen analysieren, Filter mit Web-Logs erstellen, die von Logstash erfasst werden, Daten in Kibana auswerten und sie im Kibana-Dashboard an Stakeholder kommunizieren.

 

KPIs überwachen

Geschäftsbezogene Dashboards bieten Unternehmen die Möglichkeit, verschiedene KPIs für ihre digitalen Assets festzulegen und alle wichtigen Themen auf einen Blick zu überwachen und zu visualisieren. Um ihre digitalen Anwendungen auf dem neuesten Stand zu halten, können Geschäftskunden verschiedene KPIs verwenden:

  • Welche sind die am häufigsten verwendeten Funktionen der Anwendung?
  • Wie viele Benutzer haben sich im Laufe der Zeit registriert?
  • Wie viele Serviceanfragen sind in einer Woche eingegangen?
  • Welche Parität besteht zwischen Benutzerregistrierung und Bestellungen?
  • Welche Art von Produkten sehen sich die Nutzer am häufigsten an?

 

All diese wichtigen Geschäftsinformationen zeigt ein Dashboard. Die Daten ermöglichen tiefere Einblicke, um effektive Entscheidungen im Sinne des Unternehmens zu treffen.

 

Abbildung 4

 

Abbildung 4 zeigt ein geschäftsbezogenes Dashboard, das die KPIs der Benutzeranalyse der Web-Anwendung anzeigt. Geschäftsanwender erhalten folgende Einblicke in die Echtzeit-Performance ihrer Web-Anwendung (für eine bestimmte Zeitspanne):

  • Anzahl der Besuche von Werbeseiten
  • Kennzahlen der Gesamtzahl der erteilten Aufträge
  • Gesamtzahl der bezogenen Leistungen
  • Registrierte Benutzer
  • Ausfallereignisse
  • Analyse von Anwendungsfällen
  • Registrierungsmuster der Benutzer

 

Diese Erkenntnisse unterstützen den Anwender beim Management der Web-Inhalte und bei der Verwaltung der Anwendungsinstanzen gemäß der Lastverteilung. Um operative und geschäftliche Entscheidungen über die von Unternehmen angebotenen digitalen Dienste zu treffen, ist es wichtig zu wissen, wie die Anwendung im technischen und wirtschaftlichen Sinne funktioniert. Der ELK Stack liefert exzellente Einblicke für Geschäfts- und IT-Anwender.