Monitoring in SAP Cloud Integration
In diesem Blogbeitrag möchten wir erklären, wie wir Ihre Prozesse in SAP Cloud Integration überwachen. Dies ist eines der wichtigsten Themen, insbesondere für diejenigen, die sich um die Sicherheit im Middleware sorgen.
Cloud Integration erlaubt uns die Veränderung über die Nachricht zu machen, so wie Mappings, oder die Konvertierung von einer Struktur zu der anderen. Cloud Integration ist nicht nur stark für die Manipulation der Datei, sondern auch für die Merkmale der Überwachung. Zusätzlich zu Debug- oder Trace-Modus wie in jeder Entwicklungs-IDE ermöglicht es uns auch, die notwendigen Informationen zu überwachen, ohne dass ein Debugging erforderlich ist.

Für jeden Service können wir das Log-Level auf 5 verschiedene Modi einstellen.
None: Keine Informationen über Prozesse, selbst wenn sie erfolgreich oder fehlgeschlagen sind.
Info: Standardmodus, um zu sehen, ob der Prozess erfolgreich ist oder nicht.
Error: Zeigt den Prozess nur an, wenn der Prozess fehlgeschlagen ist.
Debug: Zeigt die Prozessschritte, jedoch ohne Details.
Trace: Zeigt alle Informationen wie Headers und Body in jedem Schritt.
Die Standard-Log-Konfiguration ist auf Info eingestellt. Info ermöglicht es uns, den Status jedes Prozesses zu sehen, wie z.B. abgeschlossen, abgebrochen, fehlgeschlagen usw. In diesem Modus können wir weder die Header noch den Body sehen. Es ist wichtig, die Daten aus Sicherheitsgründen zu schützen und den Speicherverbrauch zu reduzieren.
Aber wenn der Prozess fehlschlägt, wie können wir das Problem herausfinden?
Trace-Modus ist nützlich, wenn dieselbe Request-Message empfangen werden kann. Bevor Nachrichten erhalten werden, sollte dieser Modus aktiviert werden. Im Trace können sowohl der Body als auch die Header bei jedem Schritt betrachtet werden.

Der Prozess, der einen Fehler verursacht, wird angezeigt. In diesem Modus ist es viel einfacher und schneller, den Schritt zu identifizieren, in dem der Fehler auftritt.

Allerdings erlaubt CPI uns, nur 10-Minuten im Trace zu bleiben, danach wechselt es automatisch wieder in den vorherigen Modus (Info, Error oder None). Zusätzlich ist die Nachricht nach einer Stunde nicht mehr erreichbar. Während der Entwicklung nutzen wir Trace sehr oft. In der Produktion können wir den gleichen Prozess nicht wieder triggern, wenn er einen Fehler bekommt. Aus Sicherheitsgründen ist es auch nicht empfohlen, die vollständige Nachricht in der Produktion offenzulegen.
Wie können wir in diesem Fall herausfinden, welche Nachricht einen Fehler enthält, ohne die gesamte Nachricht offenzulegen? Folgendes bietet SAP an:
Es gibt einige vorgefertigte Properties zum Überwachen und Filtern von Nachrichten. Diese Funktion ist sehr hilfreich, um den Status bestimmter Nachrichten zu verstehen und die Nachrichten im Monitoring zu filtern. Wir können diese Properties nach Bedarf anpassen. In diesem Beispiel wird die „Application Message ID“ durch die
Bestellnummer festgelegt, und der Bestelltyp wird als „Application Message Type“ bestimmt. Wenn diese Bestellung einen Fehler enthält, können wir die Bestellnummer direkt herausfinden, ohne die gesamte Nachricht offenzulegen.

Falls diese vorgefertigten Properties nicht ausreichen oder zusätzliche kundenspezifische Properties benötigt werden, können wir auch Custom-Monitoring-Header hinzufügen. Diese benutzerdefinierten Header gelten nicht als echte Header, und werden nicht an das Empfängersystem gesendet. Sie werden ausschließlich intern zu Monitoring-Zwecken verwendet.
Zusätzlich können wir die Nachrichten anhand von Monitoring-Properties und Custom-Headern filtern. Zum Beispiel haben wir 7 Nachrichten im Status „Completed“ mit dem Message Type „Initial Order“.

Allerdings haben wir nur eine Nachricht mit der Nummer 1000000 erhalten.

Normalerweise ist es nicht möglich, den Inhalt einer Nachricht während oder nach dem Prozess einzusehen. In einigen Fällen müssen wir jedoch den Nachrichteninhalt sehen, insbesondere wenn sich die Nachricht im Fehlerstatus befindet. Dafür können wir ein Attachment zu Monitoring-Zwecken erstellen. Attachments können in jedem Textformat vorliegen und sind konfigurierbar. Sie helfen uns bei der Identifizierung von Fehlern. Außerdem können Attachments so eingerichtet werden, dass sie nur im Fehlerfall angelegt werden.
Typische Szenarien sind:
– Einsicht in den gesamten Nachrichteninhalt an wichtigen Stellen, z. B. vor dem Mapping und nach dem Mapping.
– Im Fehlerfall ist der komplette Nachrichteninhalt an der Fehlerstelle.

In der Middleware gespeicherte Logs können nicht über längere Zeiträume aufbewahrt werden.
Trace kann Nachrichten bis zu 10 Minuten aufnehmen, und diese Nachrichten sind nur 1 Stunde sichtbar.
Debug kann Nachrichten bis zu 1 Tag aufnehmen.
Alle Prozess-Logs werden nach 1 Monat gelöscht.
Zusammenfassung:
SAP bietet mit Cloud Integration eine schnellere, präzisere und sicherere Middleware-Umgebung.
Standardmäßig zeigt die Cloud Integration-Schnittstelle keine Nachrichten oder Header für die Benutzer an. Dies ist sowohl aus Sicherheitsgründen als auch für das Speichermanagement wichtig.
In einigen Fällen muss jedoch eine fehlgeschlagene Nachricht ohne Trace- oder Debug-Modus erkannt werden, insbesondere in der Produktionsumgebung. Um dies zu ermöglichen, können im Info-Modus die notwendigen Felder als Custom-Properties und Attachments festgelegt werden. Damit können wir identifizieren, welche Nachricht fehlgeschlagen ist.
Cloud Integration speichert Logs maximal für 1 Monat. Dieser Zeitraum dient dazu, Fehler zu bearbeiten und Probleme zu lösen.