Files
biztalk-checkmk-pulse/docs/RTM-Endpoint-Adapterregeln-2026-08-11.md
T

102 lines
4.6 KiB
Markdown

# RTM-Adapterregeln für Endpoint Reachability
## Anlass
Die ACC-Ausgabe vom 11.08.2026 zeigte `BizTalk Endpoint Reachability =
UNKNOWN`, obwohl die eigentlichen Socket-Probes in wenigen Millisekunden
abgeschlossen waren. Die Detailausgabe bestand überwiegend aus drei
Adapterklassen, die der generische URI-Parser nicht fachgerecht einordnen
konnte:
- Scheduling-Komponenten ohne externes Netzwerkziel,
- kundenspezifische `DATABASE`-Adressen, nahezu ausschließlich Oracle,
- WCF-SAP-Verbindungs-URIs mit Gateway- und SAProuter-Parametern.
Diese Fälle dürfen den RTM-Service weder mit Auflösungslücken noch mit
Fehlalarmen belasten.
## Verbindliche Klassifizierung ab Version 2.2.7
### Scheduling
Adaptername oder Adresse mit `Schedule`/`Scheduler` wird vollständig als
erwartbar ausgenommen. Es erfolgt keine Netzwerkprobe und kein UNKNOWN.
### DATABASE / Oracle
Nur die eindeutig erkennbare Form
```text
Database://host[:port]/.../Oracle
```
wird automatisch aufgelöst. Ein expliziter Port gewinnt; andernfalls wird
TCP 1521 verwendet. Andere DATABASE-Anbieter oder nicht eindeutig lesbare
Adressen werden erwartbar ausgenommen. Es wird kein UDP-Test erzeugt.
Oracle dokumentiert TCP 1521 als Standardadresse des Listeners und nimmt bei
fehlender Portangabe im Easy-Connect-Format ebenfalls 1521 an:
- [Oracle: Configuring the Network Environment](https://docs.oracle.com/en/database/oracle/oracle-database/19/admqs/configuring-the-network-environment.html)
- [Oracle: Configuring and Administering Oracle Net Listener](https://docs.oracle.com/en/database/oracle/oracle-database/21/netag/configuring-and-administering-oracle-net-listener.html)
### WCF-SAP
Microsoft dokumentiert `ListenerGwHost`, `ListenerGwServ` und `SAPROUTER` als
Bestandteile der SAP-Verbindungs-URI. Der Parser verwendet in dieser
Reihenfolge:
1. erster SAProuter-Hop aus `/H/host/S/port`,
2. `ListenerGwHost` und `ListenerGwServ`,
3. `GwHost` und `GwServ` als Fallback.
Numerische Dienste werden direkt übernommen. `sapgwNN` wird auf TCP `33NN`
abgebildet. Fehlt bei einem SAProuter-Hop `/S/`, gilt der dokumentierte
Standard TCP 3299. URI-Escapes werden vor der Auswertung dekodiert; Kennwörter,
Program-ID, Pfade und Querystrings gelangen weiterhin nicht in Katalog, Log
oder Checkmk-Ausgabe.
Quellen:
- [Microsoft Learn: Create the SAP system connection URI](https://learn.microsoft.com/en-us/biztalk/adapters-and-accelerators/adapter-sap/create-the-sap-system-connection-uri)
- [SAP Help: Entries in the Services File](https://help.sap.com/docs/SLTOOLSET/6bc963751d0840f996c5c9d7a7f83473/bb9faaebe0c74a58bbcc259c83f59437.html)
- [SAP Help: SAProuter Host and Port](https://help.sap.com/docs/SAP_NETWEAVER_AS_ABAP_FOR_SOH_740/e245703406684d8a81812f4c6334eb2f/486b5b0cb74c07bee10000000a42189d.html)
## Best-Effort statt Alarm
Automatisch abgeleitete DATABASE-/WCF-SAP-Ziele erhalten im lokalen Katalog
`bestEffort="true"`. Sie werden normal dedupliziert und per TCP verbunden.
- Erfolg erhöht die getesteten und verfügbaren Zähler.
- Timeout, DNS- oder Verbindungsfehler erhöht
`biztalk_endpoints_best_effort_ignored`.
- Der Fehler erscheint nicht als `unavailable=`, erzeugt keinen Warn-Logeintrag
pro Minute und ändert den Checkmk-Status nicht.
- Eine nicht ableitbare Adapteradresse zählt zu
`biztalk_endpoints_expected_non_socket`, nicht zu `unresolved`.
Damit erfüllt der Check die gewünschte „versuchen, sonst ignorieren“-Semantik.
Soll ein solches Ziel später verbindlich alarmieren, wird ein manueller
Katalogeintrag mit `autoDiscovered="false"` und ohne
`bestEffort="true"` hinterlegt. Reguläre automatisch erkannte Ziele bleiben
ebenfalls streng: Ihre Nichterreichbarkeit ist weiterhin CRIT.
## Regression und Abnahme
Die automatisierten Tests decken Scheduler-Ausschluss, Oracle-Standard- und
Explizitport, nicht unterstützte DATABASE-Anbieter, WCF-SAP-Gateway,
URI-kodierten SAProuter, zielbasierte SAP-Konfiguration ohne ableitbaren Host,
Geheimnisschutz und die nicht alarmierende Best-Effort-Ausgabe ab.
Für die Windows-/ACC-Abnahme nach Installation von 2.2.7:
1. Im Provider-Log muss der erzwungene Katalogabgleich erfolgreich sein.
2. `BizTalk Endpoint Reachability` darf wegen Schedule, DATABASE oder WCF-SAP
nicht mehr UNKNOWN werden.
3. `biztalk_endpoints_unresolved` darf diese drei Klassen nicht enthalten.
4. `biztalk_endpoints_best_effort` zeigt die tatsächlich abgeleiteten Oracle-
und SAP-Ziele; nicht erreichbare davon erscheinen nur in
`biztalk_endpoints_best_effort_ignored`.
5. Ein absichtlich nicht erreichbares reguläres Testziel muss weiterhin CRIT
auslösen, damit die strenge Standardalarmierung belegt bleibt.