SAP connections
Eine SAP Connection definiert SAP-System, zugewiesenen Connector und die Sammlungen des Runtimes. Data Streams und Credentials werden serverseitig aufgelöst.
Jede Verbindung behält auch bei einer Neuordnung der Quellen eine stabile Identität. Fehlt diese Identität in der angewendeten Konfiguration, lehnt der Connector sie mit einem bereinigten Fehler ab, statt Cursor oder dauerhaften Zustand einer anderen Verbindung zuzuordnen.
Das gespeicherte Passwort ist an den zugewiesenen Connector sowie ASHOST,
SYSNR, Mandant und RFC-Benutzer gebunden. Alias, Sprache, Zeitzone und
Sammlungen können ohne erneute Eingabe geändert werden. Wird eines dieser fünf
Vertrauensfelder geändert, ist ein neues Passwort erforderlich; ********
oder ein leeres Feld verwendet das vorherige Credential nicht für einen
anderen Runtime-Host oder ein anderes SAP-System.
Acht Sammlungen
| Sammlung | Standard | Ergebnis |
|---|---|---|
| Metrics | 300 s | CCMS- und Operations-Metriken |
| CCMS events | 300 s | Normalisierte Events |
| Jobs | 300 s | Job Runs und Long-running-Jobs-Snapshots |
| Program statistics | 300 s | Standardausführungen und Abhängigkeiten je ABAP-Programm |
| Work processes | 300 s | Prozess-Snapshots |
| ABAP dumps | 300 s | Bereinigte ST22-Dumps |
| RFC failures | 300 s | RFC-Fehler/Recoveries ohne Payload |
| Certificates | 86400 s | Zertifikatsinventar und Übergänge |
Jede Sammlung kann unabhängig aktiviert und geplant werden. Das Intervall ist eine an der Uhr ausgerichtete feste Frequenz und keine Wartezeit ab dem Ende der vorherigen Extraktion. Bei 300 Sekunden starten alle acht Familien in deterministischen Phasen nach der exakten Grenze und innerhalb der ersten Minute jedes Fünf-Minuten-Blocks. Ein begrenzter Dispatcher hält höchstens eine ausstehende Ausführung je Quelle und Familie, reserviert Kapazität für Metrics, Work Processes und den Long-running-Jobs-Snapshot und verteilt die übrige Arbeit fair. Ein langsamer CCMS- oder Jobs-Aufruf erzeugt deshalb weder Dutzende Worker noch einen Backlog und verzögert weder priorisierte Sammlungen noch den Heartbeat. Jede gewöhnliche Aufgabe hat ein Limit von 75 Sekunden: Beim Ablauf wird nur ihre SAP-Verbindung abgebrochen und aus dem Pool entfernt; Teilzustand wird nicht bestätigt. Bevor der isolierte Kindprozess Program statistics startet, gilt für die Zulassung der Quelle ein separates Limit von 30 Sekunden. Erst nach erfolgreicher Zulassung verarbeitet er ein Teilfenster mit einem neuen Budget von 240 Sekunden und endlichen Reserven für Beendigung und Reap. Restzeit eines anderen Lesevorgangs wird nie übernommen. Läuft die Zulassung ab oder wird sie abgebrochen, startet der Worker nicht; es gibt weder Teilung eines Teilfensters, Export, ACK noch Cursor-Fortschritt. Die nächste Quelle in der Warteschlange kann fortfahren. Läuft das Budget ab, wird der Worker innerhalb einer endlichen Frist beendet und genau einmal eingesammelt. Der Elternprozess bewahrt bereinigte Grenzen für Descriptor-Suche, Parameter-Vorbereitung, Output-Auswahl, Invoke und Decode auch ohne Terminal-Record. Dauer null markiert den Eintritt, eine positive Dauer den Abschluss; RFC-Werte werden nicht aufgenommen. Diese Evidenz zeigt die letzte beobachtete Stufe, validiert aber keine Daten und erlaubt weder Export noch ACK oder Checkpoint-Fortschritt. Wenn der Kindprozess sein exaktes 240-Sekunden-Limit erreicht und das aktive Teilfenster noch teilbar ist, exportiert der Koordinator nichts und lässt Cursor sowie frühere ACKs unverändert. Er ersetzt dauerhaft nur dieses Teilfenster durch zwei zusammenhängende Hälften, bewahrt die übrige Queue und den Backoff und reiht die Fortsetzung sofort mit fairer Verteilung wieder ein. Ein Abbruch durch Upgrade oder Reload hat Vorrang, erlaubt diese Teilung niemals und bleibt ein Abbruch statt eines Handoff-Fehlers. Priorisierte Familien behalten ihre unabhängige Zeitplanung. Nach Start oder Konfigurations-Reload läuft eine gestaffelte erste Extraktion ohne ein volles Intervall zu warten.
Teilfenster beginnen bei 60 Sekunden. Ein vollständiger Lesevorgang ab 60 Sekunden oder mit mehr als 400 Hauptdatensätzen halbiert das dauerhafte Maximum dieser Quelle bis auf eine Sekunde. Genau 400 reduzieren es nicht; alle Ausführungen des bestätigten Blatts bleiben erhalten. Nach acht schnellen, bestätigten Blättern kann es nur für den nächsten Horizont wachsen; es ändert keine bestätigte Abdeckung und gilt nicht für eine andere SAP-Verbindung.
Fähigkeiten
Die Karte trennt Scoped telemetry vom Connector-Heartbeat: Daten gelten nur dann als verfügbar, wenn ein v2-Dokument der exakten Quelle vorhanden ist. Jede Abfrage unterscheidet No source data yet — erfolgreiche Abfrage ohne Dokumente — von Source data status unavailable — Status konnte nicht geprüft werden —, ohne interne Elasticsearch-Details offenzulegen. Jede Sammlung zeigt aktuellen Zustand, Last success und Last check. Ein alter Fehler verschwindet nach erfolgreicher Sammlung; Details klappt das jeweils neueste Sub-Capability-Ergebnis auf und ist keine Fehlerhistorie. Eine nicht verfügbare Sammlung blockiert die anderen nicht.
Fehlt in der SAP-Antwort eine erforderliche Tabelle oder Liste, wird dies nicht als leeres Ergebnis interpretiert. Die Sammlung bleibt im Fehlerzustand, behält den zuletzt bestätigten Zustand und veröffentlicht keine falsche Entfernung oder Recovery. Eine explizite, gültige leere Antwort bleibt eine erfolgreiche Abfrage ohne Ergebnisse.
Program statistics nutzt die Standard-RFC-Funktion
SWNC_GET_STATRECS_FRAME der Gruppe SCSM_NW_WORKLOAD und installiert weder
Transport noch eigenen ABAP-Code. Der technische Benutzer benötigt minimalen
S_RFC-Zugriff auf diese Funktion. SPOT bildet das Fenster mit dem SAP-Code
UTC ab, fixiert den Mandanten und sendet READ_START_DATE/TIME,
READ_END_DATE/TIME und READ_TIME_ZONE. Der Descriptor derselben Invokation
muss MAX_RECORDS als optionales IMPORT INT mit Default -1,
READ_ONLY_MAINRECORDS als IMPORT CHAR sowie ALL_STATRECS/PROTOCOL als
EXPORT TABLE deklarieren; SPOT sendet READ_ONLY_MAINRECORDS="X", lässt
MAX_RECORDS weg und nutzt dessen nativen Default ohne künstliches Limit. Die Release muss die
Funktion remote-fähig bereitstellen und Datensätze aufbewahren. Jeder Zyklus liest
15 Minuten Überlappung erneut und versucht, höchstens 30 Minuten vorzugehen, in
Frames von maximal 60 Sekunden. Mehr als 400 Datensätze verkleinern nur die
künftigen Blätter dieser Quelle und bedeuten keine Kürzung. Das Protokoll darf
leer sein oder nur Standard-Abschlusszeilen mit einem dezimalen RC von null
enthalten. Ein fehlendes, mehrdeutiges, anders strukturiertes oder von null
abweichendes Protokoll lässt das Blatt offen; sein Fehlertext wird nicht
protokolliert. Explizite Kürzung lässt das Blatt ebenfalls offen und kann bis
auf eine Sekunde geteilt werden. Der Connector lässt höchstens 32 Programs-RFC-Lesevorgänge in gleitenden 60 Sekunden über alle Quellen zu, auch nach einem Neustart. Kleinere Blätter können diese Kapazität früher verbrauchen; die Fortsetzung wartet ohne SAP-Verbindung und ohne weiteren Worker. SPOT exportiert
jedes vollständige Blatt mit seinem Manifest und bestätigt sein Ende erst nach
dem ACK. Bleibt ein Blatt wegen Abbruch, Fehler oder fehlender
Bestätigung offen, bewahrt SPOT seine exakten Teilfenster auf und wiederholt sie
mit Backoff, ohne frühere bestätigte Blätter erneut zu lesen. Dies gilt auch für
die erste Runde. Erst nach Abschluss dieses Horizonts liest der nächste Zyklus erneut ab 15 Minuten vor dem Checkpoint. Liegt der Rückstand über dem Sammelintervall plus 120 Sekunden, beginnt er sofort; nahe der Gegenwart gilt wieder der normale Takt. Ein ungelesener Rest gilt nie als abgedeckt. Prüfen Sie die letzte bestätigte SAP-Zeit statt nur den Eingang.
Jedes RFC-Ergebnis hat zusätzlich ein Dekodierbudget von 20.000 Zeilen und
64 MiB. Jedes Blatt behält höchstens 50.000 Dokumente und 32 MiB serialisierten
normalisierten Inhalt einschließlich Manifest. Das Überschreiten einer Grenze
oder eine wiederholte Identität mit abweichendem Inhalt lässt dieses Blatt ohne
Export oder Bestätigung. Diese Grenzen begrenzen
nicht den Speicher innerhalb des nativen RFC-Invokes. Ein gültiges Blatt bewahrt
alle Hauptdatensätze und ein Manifest mit exakter Anzahl und exaktem Fenster;
erst seine Bestätigung verschiebt den Checkpoint. Ein gültiges Lesen ist
partial, weil batchstep, rfc, http und epp ausdrücklich nicht
verfügbar sind. Ihr Fehlen beweist keine ausgebliebenen Schritte, Aufrufe oder
Kontexte.
Bei Fähigkeit error unterscheidet die bereinigte Diagnose ein erschöpftes
Aufrufbudget, Sättigung im kleinsten Frame, ein ungültiges Fenster, die
Gesamtgröße und einen Identitäts-/Systemkonflikt. Diese Klassen sind nur
aussagekräftig, wenn die installierte Version sie meldet; sie deuten keinen
früheren generischen Fehler um.
Das adaptive Fenster senkt den erwarteten Working Set, garantiert aber kein universelles Speicherlimit für jedes SAP-System. Acht vollständige, bestätigte Blätter der gelernten Größe nacheinander mit je weniger als zehn Sekunden, höchstens 100 Hauptdatensätzen und 8 MiB normalisiert können es nur für den nächsten Horizont bis auf 60 Sekunden verdoppeln; Fehler setzen die Folge zurück, Timeout oder Sättigung verhindern Wachstum für 15 Minuten. Wenn Program statistics mit anhaltendem Speicherdruck zusammenfällt oder
nicht mehr abschließt, während Heartbeat oder andere Familien fortschreiten,
deaktiviere vorübergehend nur diese Sammlung, sichere die vorherige Konfiguration
und lasse den Rest aktiv. Reclaim unter memory.high ohne OOM erfordert eine
Messung des gesamten Prozesses; dies beweist allein weder ein Go-Heap-Leck noch
einen nativen Spin. Installiere eine korrigierte, unterstützte Connector-Version,
miss sie unter realer SAP-Last gegen den Host-Headroom und bestätige den
Fortschritt aller Familien, bevor du die Sammlung wieder aktivierst. Erhöhe
Ressourcenlimits nicht als ersten Schritt.
Bei Jobs stellt der Connector terminale Ausführungen in eine Warteschlange und
sammelt ihr vollständiges Job Log asynchron. SAP paginiert diese Antwort nicht;
daher kann der Speicherverbrauch des Agents während der Abfrage vorübergehend
steigen. Weitere Job-Runs-Beobachtungen laufen unabhängig weiter.
job_runs=supported und job_logs=unavailable können weiterhin gleichzeitig
gelten, wenn SAP das Lesen des Logs nicht bereitstellt. Läufe, Zustände,
canceled-jobs, Long-running Jobs und bereits indexierte historische Zeilen
bleiben davon unbeeinträchtigt.
Dumps enthalten keine Speicher-/Geschäftsdaten, RFC keinen Call-Payload und Zertifikate nur öffentliche Metadaten—niemals private Schlüssel.
Weise einen Connector mit aktuellem Heartbeat zu, speichere die Quelle und
prüfe Metrics/Events, Programs, Job Monitoring, Certificates und RFC & Integrations.
Agent upgrade required bedeutet, dass der Producer auf 2.0 aktualisiert
werden muss; es ist keine gültige Null.