Harden endpoint reachability resolution
This commit is contained in:
@@ -108,16 +108,24 @@ Zustand und Graphen direkt erkennbar, ohne eine lange Sammelzeile zu lesen:
|
||||
- Receive Locations: total, enabled, unerwartet/bewusst disabled und unbekannt
|
||||
- Send Ports: total, started, stopped, bound, unbekannt sowie bewusst inactive
|
||||
- Endpoint Reachability: nur aktive Send-/Receive-Artefakte; im OK-Fall nur
|
||||
eine Gesamtaussage, im Fehlerfall ausschließlich nicht erreichbare Ziele
|
||||
eine Gesamtaussage, im Fehlerfall ausschließlich nicht erreichbare oder
|
||||
wirklich unaufgelöste Ziele
|
||||
- Orchestrations: total, started, stopped, bound, unbound und unbekannt
|
||||
|
||||
Der Provider nutzt für die Endpoint-Discovery keine neue WMI-Klasse. Er liest
|
||||
`PTAddress`, `STAddress`, `PTTransportType`, `STTransportType`,
|
||||
`InboundTransportURL` und `AdapterName` aus den bereits vorhandenen
|
||||
`MSBTS_SendPort`-/`MSBTS_ReceiveLocation`-Abfragen. Der Check selbst ist ein
|
||||
reiner Host/Port-Test: HTTP(S), SFTP, FTP, WCF/net.tcp und UNC werden per TCP
|
||||
geprüft; explizite `udp://`-Ziele per UDP-Datagramm. Es werden keine
|
||||
HTTP-Requests, Anmeldungen oder fachlichen Nachrichten gesendet.
|
||||
reiner Host/Port-Test: HTTP(S), SFTP, FTP, WCF/net.tcp, WCF-SQL/mssql und UNC
|
||||
werden per TCP geprüft; explizite `udp://`-Ziele per UDP-Datagramm. Es werden
|
||||
keine HTTP-Requests, Anmeldungen oder fachlichen Nachrichten gesendet.
|
||||
|
||||
Nicht jede aktive BizTalk-Adresse ist selbst ein Socket-Ziel. Dynamische Send
|
||||
Ports, lokale Pfade, SMTP-Empfänger, Named Pipes und relative HTTP-/WCF-
|
||||
Receive-Listener werden deshalb als erwartbar nicht socket-prüfbar behandelt
|
||||
und erzeugen kein `UNKNOWN`. Nur eine aktive statische Adresse, die tatsächlich
|
||||
ein Netzwerkziel enthalten müsste und nicht sicher aufgelöst werden kann,
|
||||
bleibt `UNKNOWN` und wird geheimnisfrei mit Artefakt, Adapter und Grund genannt.
|
||||
|
||||
Der geheimnisfreie Katalog liegt unter
|
||||
`%ProgramData%\BizTalkCheckmkPulse\data\endpoints.xml`. Fehlt er, wird er beim
|
||||
@@ -185,8 +193,6 @@ und das transportierbare ZIP:
|
||||
```text
|
||||
artifacts\
|
||||
BizTalkCheckmkPulse-Setup.zip
|
||||
BizTalkCheckmkPulse-Setup.zip.b64.txt
|
||||
BizTalkCheckmkPulse-Setup.zip.sha256.txt
|
||||
BizTalkCheckmkPulse-Setup\
|
||||
Setup.exe
|
||||
INSTALLATION.md
|
||||
@@ -200,14 +206,6 @@ Das Packaging-Projekt ist Teil von `BizTalkCheckmkPulse.sln`. Ein normaler
|
||||
`Release`-Build in Visual Studio 2019 genügt daher; ein separates
|
||||
PowerShell-/WiX-/MSI-Tooling wird nicht benötigt.
|
||||
|
||||
Die Base64-TXT kann auf dem Windows-Zielsystem ohne Zusatzwerkzeug dekodiert
|
||||
werden:
|
||||
|
||||
```cmd
|
||||
certutil -decode BizTalkCheckmkPulse-Setup.zip.b64.txt BizTalkCheckmkPulse-Setup.zip
|
||||
certutil -hashfile BizTalkCheckmkPulse-Setup.zip SHA256
|
||||
```
|
||||
|
||||
Format-Self-Test ohne WMI, SQL oder Event Log:
|
||||
|
||||
```cmd
|
||||
@@ -362,10 +360,11 @@ Wichtige Werte:
|
||||
| `LogRetentionDays` | `30` | Provider bereinigt ältere Logs. |
|
||||
| `ProbeEndpointConnectivity` | `true` | Aktiviert den aggregierten TCP-/UDP-Netzwerkcheck. |
|
||||
| `EndpointCatalogPath` | `%ProgramData%\BizTalkCheckmkPulse\data\endpoints.xml` | Lokal gepflegte Endpoint-Konfiguration ohne vollständige URIs/Secrets. |
|
||||
| `EndpointCatalogMaxEntries` | `1000` | Harte Größenbegrenzung für Artefakte im Katalog. |
|
||||
| `EndpointDiscoveryIntervalHours` | `168` | Intervall für den vollständigen Umgebungsabgleich. |
|
||||
| `EndpointProbeTimeoutMilliseconds` | `3000` | Timeout je dedupliziertem Host/Port-Ziel. |
|
||||
| `EndpointProbeMaxConcurrency` | `16` | Begrenzte parallele Socket-Probes. |
|
||||
| `EndpointMaxCount` | `100` | Harte Obergrenze und Laufzeitbudget; bei 3 s Timeout theoretisch maximal etwa 21 s. |
|
||||
| `EndpointMaxCount` | `100` | Obergrenze eindeutiger Host/Port/Protokoll-Ziele und damit Laufzeitbudget; bei 3 s Timeout theoretisch maximal etwa 21 s. |
|
||||
| `QueryTimeoutSeconds` | `25` | WMI-Timeout je Query. |
|
||||
| `SqlConnectionTimeoutSeconds` | `5` | SQL-Timeout je Ziel. |
|
||||
| `WarnResumableThreshold` | `1` | WARN ab n resumable Suspensions. |
|
||||
@@ -393,7 +392,7 @@ liest den nächsten atomar publizierten Snapshot.
|
||||
| Provider meldet `Login failed` | Provider-Konto und exakt konfigurierte Read-Only-Gruppe sowie `BTS_READONLY_USERS` prüfen. |
|
||||
| Receive Locations / Send Ports sind CRIT | `affected=` prüfen; nur fachlich bewusst inaktive Namen exakt in die jeweilige Allowlist aufnehmen. |
|
||||
| Endpoint Reachability ist CRIT | Nur `unavailable=` prüfen; DNS, Zielport, Firewall und externen Dienst kontrollieren. |
|
||||
| Endpoint Reachability ist UNKNOWN | WMI-Vollständigkeit, `endpoints.xml`, wöchentlichen Refresh und nicht automatisch auflösbare externe Adapteradresse prüfen. |
|
||||
| Endpoint Reachability ist UNKNOWN | `unresolved_endpoints=`, WMI-Vollständigkeit, `endpoints.xml` und wöchentlichen Refresh prüfen; indirekte Adapterziele bei Bedarf geheimnisfrei manuell überschreiben. |
|
||||
| `Wmi/Schema` | Klasse/Properties gegen BizTalk-2020-Schema prüfen; keine Rechte ausweiten. |
|
||||
| Nur Event Log `UNKNOWN` | lokalen Application-Log-Zugriff des Provider-Kontos prüfen. |
|
||||
| Task-Result `2` | Parallelstart oder Snapshot-I/O; Log und Lock/ACL prüfen. |
|
||||
@@ -416,6 +415,8 @@ geändert und muss separat durch AD-/BizTalk-Administration entfernt werden.
|
||||
- Microsoft: Managing BizTalk Server Security
|
||||
- Microsoft: [`MSBTS_SendPort` (WMI)](https://learn.microsoft.com/en-us/biztalk/core/technical-reference/msbts-sendport-wmi)
|
||||
- Microsoft: [`MSBTS_ReceiveLocation` (WMI)](https://learn.microsoft.com/en-us/biztalk/core/technical-reference/msbts-receivelocation-wmi)
|
||||
- Microsoft: [SQL-Adapter-Verbindungs-URI](https://learn.microsoft.com/en-us/biztalk/adapters-and-accelerators/adapter-sql/create-the-sql-server-connection-uri)
|
||||
- Microsoft: [Oracle-Database-Adapter-Verbindungs-URI](https://learn.microsoft.com/en-us/biztalk/adapters-and-accelerators/adapter-oracle-database/create-the-oracle-database-connection-uri)
|
||||
- Checkmk: Windows Agent und Local Checks
|
||||
|
||||
Die genauen Links stehen in [Dokumentation.md](Dokumentation.md).
|
||||
|
||||
Reference in New Issue
Block a user