Zum Inhalt springen
Kitegra
← Zurück zum Blog

Modul in diesem Artikel: Message Monitor

SAP CPI Log-Level TRACE: Warum es sich abschaltet und wie Sie es sicher aktiv halten

Warum die Protokollstufe TRACE in SAP CPI nach etwa 10 Minuten zurückfällt, was sie wie lange speichert, welche Risiken sie in der Produktion birgt und wie Sie sie nur beim Arbeiten aktiv halten.

SAP CPI Log-Level TRACE: Warum es sich abschaltet und wie Sie es sicher aktiv halten

Sie setzen die Protokollstufe eines iFlows auf Trace, testen eine Viertelstunde lang etwas anderes, senden die entscheidende Nachricht – und der Trace ist leer. SAP Cloud Integration (SAP CPI) hat die Stufe stillschweigend zurückgesetzt. Das ist Absicht, und wer den Grund kennt, kann die Regeln für TRACE direkt daraus ableiten.

Dieser Artikel erklärt, was jede Protokollstufe speichert, warum TRACE abläuft, wie Sie es sicher einsetzen und wie Sie es genau so lange aktiv halten, wie Sie arbeiten.

Die Protokollstufen und was TRACE hinzufügt

ProtokollstufeWas für jede Nachricht gespeichert wird
InfoDen Gesamtstatus, die Zeiten und gegebenenfalls den Fehler
DebugEinen Eintrag für jeden Schritt, den die Nachricht durchlaufen hat
TraceWie Debug, zusätzlich Body, Header und Exchange Properties vor jedem Schritt

Die Stufe wird am bereitgestellten iFlow gesetzt und gilt daher für jede Nachricht, die dieser iFlow verarbeitet, solange sie gesetzt ist.

Warum TRACE sich selbst abschaltet

TRACE schreibt Payload, Header und Properties jedes Schritts in die Datenbank des Tenants. Bei einem stark genutzten iFlow sind das viele Daten, und darunter können persönliche oder vertrauliche Inhalte sein. SAP begrenzt TRACE deshalb zeitlich: Die Stufe TRACE gilt etwa 10 Minuten, danach kehrt der iFlow zu einer niedrigeren Stufe zurück, und die Trace-Inhalte selbst werden etwa eine Stunde aufbewahrt.

Ein Tenant kann auch so eingerichtet sein, dass TRACE gar nicht erlaubt ist. Dann schlägt das Setzen fehl, ganz gleich, wer es versucht.

TRACE von Hand setzen

  1. Öffnen Sie im Monitor Manage Integration Content und wählen Sie den bereitgestellten iFlow.
  2. Setzen Sie in seiner Protokollkonfiguration die Protokollstufe auf Trace.
  3. Senden Sie Ihre Testnachrichten innerhalb der nächsten 10 Minuten und lesen Sie ihre Traces innerhalb einer Stunde.
  4. Setzen Sie Trace bei einer längeren Sitzung alle 10 Minuten erneut.

TRACE sicher einsetzen

import com.sap.gateway.ip.core.customdev.util.Message

def Message processData(Message message) {
    // Set the exchange property logPayload to "true" (for example from an
    // externalized parameter) only while you investigate.
    if (message.getProperty("logPayload") == "true") {
        def log = messageLogFactory.getMessageLog(message)
        log?.addAttachmentAsString("Payload before mapping", message.getBody(String), "text/plain")
    }
    return message
}
  • Bevorzugen Sie Testdaten. Der Trace einer Produktionsnachricht speichert die Daten dieses Kunden eine Stunde lang im Tenant.
  • Tracen Sie in der Produktion nur so kurz, wie es zur Beantwortung der Frage nötig ist, und halten Sie sich an die Freigaberegeln Ihres Unternehmens.
  • Lassen Sie Debug oder Trace nicht als konfigurierte Protokollstufe eines iFlows stehen: Jede Nachricht zahlt dafür.
  • Schreiben Sie keine Passwörter oder Tokens in Header oder Properties, wo ein Trace sie anzeigen würde.
  • Wenn Sie regelmäßig eine Payload im Protokoll brauchen, hängen Sie sie per Skript an das Message Processing Log an, und nur, solange ein Schalter aktiv ist:

TRACE nur während der Arbeit aktiv halten

Im Kitegra hat das Panel Nachrichten des geöffneten iFlows einen Schalter mit der Aufschrift „Trace: aus“. Ein Klick setzt die Protokollstufe auf TRACE. Solange der Schalter an ist und ein Designer-Tab dieses iFlows geöffnet ist, setzt die Erweiterung TRACE alle 9 Minuten erneut, bevor SAP die Stufe zurücksetzt, und sie hört 20 Minuten nach Ihrer letzten Aktivität im iFlow damit auf. Aus stellt die Stufe wieder her, die der iFlow vorher hatte. Der Zustand übersteht ein Neuladen der Seite, und Alt+Shift+R schaltet ihn per Tastatur um.

Sie verweigert die Aktion mit einer klaren Meldung, wenn der iFlow auf der gewählten Laufzeit nicht bereitgestellt ist, wenn der Tenant TRACE nicht erlaubt oder wenn „Aktionen erlauben, die den Tenant ändern“ in den Optionen ausgeschaltet ist.

Wie Sie lesen, was der Trace aufgezeichnet hat, zeigt eine Nachricht Schritt für Schritt im Diagramm tracen.

Wie der Kitegra hilft

Trace ist eine der vier Aktionen des Kitegra, die Ihren Tenant ändern, und sie läuft nur, wenn Sie darauf klicken. Vor dem Go-live markiert die Designprüfung „Ausführliche Protokollstufe“ des iFlow Inspector einen iFlow, dessen konfigurierte Protokollstufe jede Nachricht tracen oder debuggen würde; die Checkliste für das iFlow-Review behandelt sie zusammen mit den anderen Prüfungen.

Helper, Message Monitor, iFlow Inspector und iFlow Docs zählen jeweils die iFlows, für die Sie sie nutzen: 5 je Modul ohne Kitegra-Konto, 50 im Tarif Free, 100 mit Starter und 300 mit Pro; Business hat kein Limit. Die Toolbox und die Extras für den Arbeitsbereich sind kostenlos. Tarife vergleichen.

Probieren Sie ihn im nächsten iFlow aus

Lesen Sie, was der Kitegra rund um den Designer der SAP Integration Suite ergänzt, oder sehen Sie ihn neben den anderen Chrome-Erweiterungen von Kitegra.

Häufige Fragen

Warum schaltet sich TRACE in SAP CPI von selbst ab?

TRACE speichert die Payload jedes Schritts im Tenant. Um die Datenmenge zu begrenzen, hält SAP die Stufe TRACE etwa 10 Minuten und die Trace-Inhalte etwa eine Stunde.

Wie lange werden Trace-Daten aufbewahrt?

Etwa eine Stunde. Danach bleibt das Protokoll der Nachricht erhalten, aber ihr getracter Body, ihre Header und Properties sind weg.

Ist TRACE in der Produktion sicher?

Es speichert echte Payloads im Tenant. Nutzen Sie es daher so kurz, wie es zur Beantwortung Ihrer Frage nötig ist, nach Möglichkeit mit Testdaten und nach den Regeln Ihres Unternehmens.

Was ist der Unterschied zwischen Debug und Trace?

Debug zeichnet für jeden Schritt einen Eintrag auf. Trace fügt Body, Header und Exchange Properties vor jedem Schritt hinzu.

Warum schlägt das Setzen von TRACE auf meinem Tenant fehl?

Der Tenant erlaubt TRACE vielleicht nicht, der iFlow ist auf dieser Laufzeit womöglich nicht bereitgestellt, oder Ihrem Benutzer fehlt die Rolle. In der Erweiterung können die Aktionen am Tenant außerdem in den Optionen ausgeschaltet sein.

Hält die Erweiterung TRACE aktiv, nachdem ich aufgehört habe zu arbeiten?

Nein. Sie erneuert TRACE nur, solange der Schalter an ist und Sie im iFlow arbeiten, und hört 20 Minuten nach Ihrer letzten Aktivität auf.

Arbeiten Sie an iFlows, ohne den Designer zu verlassen

Fügen Sie Kitegra zu Chrome oder Microsoft Edge hinzu. Kostenlos starten, ohne Konto.