Use proper German umlauts in documentation
This commit is contained in:
@@ -5,34 +5,34 @@ BEFUND
|
||||
======
|
||||
|
||||
Host: AV23AGPWBIO1
|
||||
Checkmk-Identitaet: NT AUTHORITY\SYSTEM
|
||||
Alte Netzwerkidentitaet: BEW\AV23AGPWBIO1$
|
||||
Checkmk-Identität: NT AUTHORITY\SYSTEM
|
||||
Alte Netzwerkidentität: BEW\AV23AGPWBIO1$
|
||||
Fehler: COMException HRESULT=0x80131904
|
||||
Innerer Fehler: Login failed for user 'BEW\AV23AGPWBIO1$'
|
||||
|
||||
Der lokale BizTalk-WMI-Namespace war erreichbar. Datenbankgestuetzte
|
||||
Der lokale BizTalk-WMI-Namespace war erreichbar. Datenbankgestützte
|
||||
BizTalk-WMI-Abfragen scheiterten am SQL-Login des Maschinenkontos.
|
||||
|
||||
NEUE VERBINDLICHE ARCHITEKTUR
|
||||
=============================
|
||||
|
||||
Das Maschinenkonto erhaelt keine BizTalk-Berechtigung.
|
||||
Das Maschinenkonto erhält keine BizTalk-Berechtigung.
|
||||
|
||||
1. Ein normales dediziertes Servicekonto laeuft minuetlich als
|
||||
1. Ein normales dediziertes Servicekonto läuft minütlich als
|
||||
Scheduled Task "BizTalk Checkmk Pulse Provider".
|
||||
2. Dieses Konto fuehrt BizTalkCheckmkPulse.exe --collect aus.
|
||||
3. Es schreibt atomar einen SHA-256-geschuetzten Snapshot nach:
|
||||
2. Dieses Konto führt BizTalkCheckmkPulse.exe --collect aus.
|
||||
3. Es schreibt atomar einen SHA-256-geschützten Snapshot nach:
|
||||
|
||||
%ProgramData%\BizTalkCheckmkPulse\data\biztalk-checkmk-pulse.snapshot
|
||||
|
||||
4. Der Checkmk-Agent bleibt LocalSystem und startet nur den Consumer.
|
||||
5. Der Consumer liest und validiert den Snapshot. Er fuehrt kein WMI und
|
||||
5. Der Consumer liest und validiert den Snapshot. Er führt kein WMI und
|
||||
keinen SQL-Zugriff aus.
|
||||
|
||||
BERECHTIGUNG DES PROVIDER-KONTOS
|
||||
================================
|
||||
|
||||
Bevorzugte Rolle fuer BizTalk Server 2020:
|
||||
Bevorzugte Rolle für BizTalk Server 2020:
|
||||
|
||||
BizTalk Server Read Only Users
|
||||
SQL-Datenbankrolle: BTS_READONLY_USERS
|
||||
@@ -42,27 +42,27 @@ BizTalk Administration Console ablesen. Das Provider-Konto durch
|
||||
AD-Administration in BizTalkReadOnlyUserGroup aufnehmen. Nicht vom
|
||||
Standardnamen ausgehen.
|
||||
|
||||
Die Operator-Gruppe ist nur eine begruendungspflichtige Eskalation, falls eine
|
||||
konkret benoetigte WMI-Klasse trotz bestaetigter Read-Only-Zuordnung und neuem
|
||||
Die Operator-Gruppe ist nur eine begründungspflichtige Eskalation, falls eine
|
||||
konkret benötigte WMI-Klasse trotz bestätigter Read-Only-Zuordnung und neuem
|
||||
Anmeldetoken verweigert wird.
|
||||
|
||||
NICHT DURCHFUEHREN
|
||||
NICHT DURCHFÜHREN
|
||||
==================
|
||||
|
||||
- keinen SQL-Einzellogin fuer Provider- oder Maschinenkonto
|
||||
- keinen SQL-Einzellogin für Provider- oder Maschinenkonto
|
||||
- keine ad-hoc BizTalk-Datenbankrollen
|
||||
- kein db_owner oder sysadmin
|
||||
- keine pauschalen DCOM-/WMI-ACL-Erweiterungen
|
||||
- Checkmk-Agentdienst nicht auf das Provider-Konto umstellen
|
||||
- Maschinenkonto BEW\AV23AGPWBIO1$ nicht fuer diese Loesung berechtigen
|
||||
- Maschinenkonto BEW\AV23AGPWBIO1$ nicht für diese Lösung berechtigen
|
||||
|
||||
INSTALLATION
|
||||
============
|
||||
|
||||
BizTalkCheckmkPulse-Setup.zip vollstaendig entpacken und Setup.exe als
|
||||
BizTalkCheckmkPulse-Setup.zip vollständig entpacken und Setup.exe als
|
||||
Administrator starten. Konto im Format DOMAIN\Benutzer (zum Beispiel
|
||||
BEW\t231bizmon), Kennwort und Umgebung eingeben. PowerShell wird nicht
|
||||
benoetigt.
|
||||
benötigt.
|
||||
|
||||
VERIFIKATION
|
||||
============
|
||||
@@ -77,7 +77,7 @@ ERWARTET
|
||||
========
|
||||
|
||||
- LastTaskResult = 0
|
||||
- Snapshot wird minuetlich aktualisiert
|
||||
- Snapshot wird minütlich aktualisiert
|
||||
- Provider-Log nennt das dedizierte Konto
|
||||
- BizTalk Platform zeigt read_only_group=<exakte Gruppe>
|
||||
- BizTalk SQL Access zeigt targets=2 und available=2
|
||||
|
||||
+43
-43
@@ -8,23 +8,23 @@ Alle Services werden als Checkmk Local Checks ausgegeben. Das Format ist:
|
||||
|
||||
Die Ausgabe ist so gebaut, dass sie auch mit Checkmk 2.4.0p4 kompatibel bleibt: zwischen den vier Feldern steht genau ein normales Leerzeichen.
|
||||
|
||||
Die fachlichen Daten werden minuetlich vom privilegierten Scheduled-Task-
|
||||
Die fachlichen Daten werden minütlich vom privilegierten Scheduled-Task-
|
||||
Provider erzeugt. Der Checkmk-Agent liest als `LocalSystem` nur den
|
||||
integritaets- und altersgeprueften Snapshot. Ist dieser Transport nicht
|
||||
verfuegbar, liefern alle neun stabilen Services `UNKNOWN`.
|
||||
integritäts- und altersgeprüften Snapshot. Ist dieser Transport nicht
|
||||
verfügbar, liefern alle neun stabilen Services `UNKNOWN`.
|
||||
|
||||
## BizTalk Platform
|
||||
|
||||
Zweck:
|
||||
|
||||
- Prueft, ob der BizTalk-WMI-Namespace erreichbar ist.
|
||||
- Prüft, ob der BizTalk-WMI-Namespace erreichbar ist.
|
||||
- Zeigt Server, Gruppe, konfigurierte BizTalk-Read-Only-/Operator-Gruppe, Management-DB und Master-MessageBox-DB aus `MSBTS_GroupSetting`.
|
||||
|
||||
Status:
|
||||
|
||||
| Status | Bedingung |
|
||||
| --- | --- |
|
||||
| `OK` | WMI-Verbindung erfolgreich und `MSBTS_GroupSetting` liefert beide vollstaendigen Datenbankziele. |
|
||||
| `OK` | WMI-Verbindung erfolgreich und `MSBTS_GroupSetting` liefert beide vollständigen Datenbankziele. |
|
||||
| `UNKNOWN` | Namespace, `MSBTS_GroupSetting`, ein erforderliches Datenbankziel oder der Programmstart fehlgeschlagen. |
|
||||
|
||||
Metriken:
|
||||
@@ -35,33 +35,33 @@ Metriken:
|
||||
|
||||
Zweck:
|
||||
|
||||
- Ermittelt Management- und Master-MessageBox-Datenbank ueber `MSBTS_GroupSetting`.
|
||||
- Oeffnet mit der Windows-Identitaet des privilegierten Provider-Tasks eine integrierte SQL-Verbindung.
|
||||
- Fuehrt die harmlose Abfrage `SELECT 1` aus und schliesst die Verbindung sofort wieder.
|
||||
- Zeigt lokale Ausfuehrungsidentitaet und erwartete Netzwerkidentitaet an.
|
||||
- Ermittelt Management- und Master-MessageBox-Datenbank über `MSBTS_GroupSetting`.
|
||||
- Öffnet mit der Windows-Identität des privilegierten Provider-Tasks eine integrierte SQL-Verbindung.
|
||||
- Führt die harmlose Abfrage `SELECT 1` aus und schließt die Verbindung sofort wieder.
|
||||
- Zeigt lokale Ausführungsidentität und erwartete Netzwerkidentität an.
|
||||
|
||||
Der Service ersetzt nicht das Checkmk-MSSQL-Plugin. Er prueft den fuer das
|
||||
Der Service ersetzt nicht das Checkmk-MSSQL-Plugin. Er prüft den für das
|
||||
BizTalk-Monitoring relevanten Zugriff des dedizierten Provider-Kontos.
|
||||
|
||||
Status:
|
||||
|
||||
| Status | Bedingung |
|
||||
| --- | --- |
|
||||
| `OK` | WMI-Zielermittlung vollstaendig und alle ermittelten Datenbanken erreichbar. |
|
||||
| `UNKNOWN` | Zielermittlung unvollstaendig, Anmeldung verweigert, SQL nicht erreichbar, Timeout oder Providerfehler. |
|
||||
| `OK` | WMI-Zielermittlung vollständig und alle ermittelten Datenbanken erreichbar. |
|
||||
| `UNKNOWN` | Zielermittlung unvollständig, Anmeldung verweigert, SQL nicht erreichbar, Timeout oder Providerfehler. |
|
||||
| `OK` mit Hinweis | Nur wenn `ProbeSqlConnectivity=false`; der Test ist dann bewusst deaktiviert. |
|
||||
|
||||
Fehlerkategorien:
|
||||
|
||||
| Kategorie | Typische Bedeutung |
|
||||
| --- | --- |
|
||||
| `Sql/Permission` | Login abgelehnt, Datenbank nicht oeffenbar oder fehlende Berechtigung. |
|
||||
| `Sql/Permission` | Login abgelehnt, Datenbank nicht öffnbar oder fehlende Berechtigung. |
|
||||
| `Sql/Connectivity` | DNS, SQL-Dienst, Instanz, TCP-Port oder Firewall nicht erreichbar. |
|
||||
| `Sql/Timeout` | Verbindungsaufbau oder Testabfrage ueberschreitet das konfigurierte Zeitlimit. |
|
||||
| `Sql/Timeout` | Verbindungsaufbau oder Testabfrage überschreitet das konfigurierte Zeitlimit. |
|
||||
| `Sql/Provider` | Sonstiger von SQL Server oder SqlClient gemeldeter Providerfehler. |
|
||||
| `Sql/Configuration` | WMI-Ziele aus einem Nicht-Berechtigungsgrund unvollstaendig oder TLS-, Zertifikats-, SPN-/SSPI-Konfiguration fehlerhaft. |
|
||||
| `Sql/Configuration` | WMI-Ziele aus einem Nicht-Berechtigungsgrund unvollständig oder TLS-, Zertifikats-, SPN-/SSPI-Konfiguration fehlerhaft. |
|
||||
|
||||
Ist die Zielermittlung wegen eines eingebetteten SQL-Loginfehlers des BizTalk-WMI-Providers unvollstaendig, wird die Folgediagnose als `Sql/Permission` statt als `Sql/Configuration` ausgegeben.
|
||||
Ist die Zielermittlung wegen eines eingebetteten SQL-Loginfehlers des BizTalk-WMI-Providers unvollständig, wird die Folgediagnose als `Sql/Permission` statt als `Sql/Configuration` ausgegeben.
|
||||
|
||||
Metriken:
|
||||
|
||||
@@ -77,7 +77,7 @@ Zweck:
|
||||
|
||||
- Ermittelt suspendierte BizTalk-Service-Instanzen.
|
||||
- Unterscheidet resumable und non-resumable.
|
||||
- Zaehlt Routing Failure Reports (`ServiceClass=64`) separat.
|
||||
- Zählt Routing Failure Reports (`ServiceClass=64`) separat.
|
||||
- Zeigt betroffene Anwendungen und Beispiele in der Summary.
|
||||
|
||||
Status:
|
||||
@@ -88,7 +88,7 @@ Status:
|
||||
| `WARN` | `biztalk_suspended_resumable >= WarnResumableThreshold`. |
|
||||
| `CRIT` | `biztalk_suspended_nonresumable >= CritNonResumableThreshold`. |
|
||||
| `CRIT` | `biztalk_routing_failure_reports >= CritRoutingFailureThreshold`. |
|
||||
| `UNKNOWN` | `MSBTS_ServiceInstance` nicht verlaesslich lesbar oder Programmfehler. |
|
||||
| `UNKNOWN` | `MSBTS_ServiceInstance` nicht verlässlich lesbar oder Programmfehler. |
|
||||
|
||||
Metriken:
|
||||
|
||||
@@ -103,7 +103,7 @@ Metriken:
|
||||
|
||||
Zweck:
|
||||
|
||||
- Ueberwacht BizTalk Host Instances auf dem BizTalk-Server.
|
||||
- Überwacht BizTalk Host Instances auf dem BizTalk-Server.
|
||||
- Filtert die gruppenweite WMI-Auflistung clientseitig auf den konfigurierten BizTalk-Server; Namen mit Sonderzeichen gelangen nicht in WQL.
|
||||
- Nicht gestartete Host Instances sind normalerweise betriebsrelevant.
|
||||
|
||||
@@ -130,7 +130,7 @@ Metriken:
|
||||
|
||||
Zweck:
|
||||
|
||||
- Zaehlt alle konfigurierten Receive Locations und ihren `IsDisabled`-Zustand.
|
||||
- Zählt alle konfigurierten Receive Locations und ihren `IsDisabled`-Zustand.
|
||||
- Trennt bewusst deaktivierte von unerwartet deaktivierten Namen.
|
||||
|
||||
Status:
|
||||
@@ -139,7 +139,7 @@ Status:
|
||||
| --- | --- |
|
||||
| `OK` | Daten lesbar und keine unerwartet deaktivierte Receive Location. |
|
||||
| `CRIT` | Mindestens eine unerwartet deaktivierte Receive Location bei `AlertOnArtifactRuntimeIssues=true`. |
|
||||
| `UNKNOWN` | `MSBTS_ReceiveLocation` nicht verlaesslich lesbar oder `IsDisabled` eines Objekts nicht interpretierbar. |
|
||||
| `UNKNOWN` | `MSBTS_ReceiveLocation` nicht verlässlich lesbar oder `IsDisabled` eines Objekts nicht interpretierbar. |
|
||||
|
||||
Metriken:
|
||||
|
||||
@@ -160,7 +160,7 @@ Status:
|
||||
| --- | --- |
|
||||
| `OK` | Alle nicht allowlisted Send Ports sind started. |
|
||||
| `CRIT` | Mindestens ein unerwartet stopped/bound Port oder unbekannter Status. |
|
||||
| `UNKNOWN` | `MSBTS_SendPort` nicht verlaesslich lesbar. |
|
||||
| `UNKNOWN` | `MSBTS_SendPort` nicht verlässlich lesbar. |
|
||||
|
||||
Metriken:
|
||||
|
||||
@@ -178,12 +178,12 @@ Metriken:
|
||||
|
||||
Zweck:
|
||||
|
||||
- Prueft nur Receive Locations mit `IsDisabled=false` und Send Ports mit
|
||||
- Prüft nur Receive Locations mit `IsDisabled=false` und Send Ports mit
|
||||
`Status=Started`.
|
||||
- Reduziert die Adresse auf Host/Port und fuehrt keinen fachlichen
|
||||
- Reduziert die Adresse auf Host/Port und führt keinen fachlichen
|
||||
HTTP-, FTP-, SFTP-, WCF- oder BizTalk-Aufruf aus.
|
||||
- Dedupliziert gemeinsame Host/Port-Ziele und prueft sie mit begrenzter
|
||||
Parallelitaet; das Ergebnis wird danach wieder den Artefakten zugeordnet.
|
||||
- Dedupliziert gemeinsame Host/Port-Ziele und prüft sie mit begrenzter
|
||||
Parallelität; das Ergebnis wird danach wieder den Artefakten zugeordnet.
|
||||
- Zeigt im gesunden Zustand nur `Alle n ... erreichbar`. Nur bei Fehlern
|
||||
erscheint die begrenzte Liste `unavailable=`.
|
||||
|
||||
@@ -191,29 +191,29 @@ Status:
|
||||
|
||||
| Status | Bedingung |
|
||||
| --- | --- |
|
||||
| `OK` | Katalog und Runtimezustand vollstaendig; alle aktiven pruefbaren Ziele erreichbar. |
|
||||
| `OK` | Katalog und Runtimezustand vollständig; alle aktiven prüfbaren Ziele erreichbar. |
|
||||
| `CRIT` | Mindestens ein getestetes TCP-/UDP-Ziel nicht erreichbar. |
|
||||
| `UNKNOWN` | Katalog fehlt/ist ungueltig, Wochenabgleich scheitert, Runtimezustand ist unvollstaendig oder ein aktiver externer Endpoint kann nicht sicher auf Host/Port reduziert werden. |
|
||||
| `UNKNOWN` | Katalog fehlt/ist ungültig, Wochenabgleich scheitert, Runtimezustand ist unvollständig oder ein aktiver externer Endpoint kann nicht sicher auf Host/Port reduziert werden. |
|
||||
| `OK` mit Hinweis | Nur wenn `ProbeEndpointConnectivity=false`; der Test ist bewusst deaktiviert. |
|
||||
|
||||
Metriken:
|
||||
|
||||
| Metrik | Bedeutung |
|
||||
| --- | --- |
|
||||
| `biztalk_endpoints_configured` | Eintraege in `endpoints.xml`, einschliesslich derzeit inaktiver. |
|
||||
| `biztalk_endpoints_active` | Im aktuellen Lauf Started/Enabled und fuer die Probe ausgewaehlt. |
|
||||
| `biztalk_endpoints_unique_targets` | Nach Host/Port/Protokoll-Deduplizierung tatsaechlich verbundene Ziele. |
|
||||
| `biztalk_endpoints_tested` | Vollstaendig abgeschlossene Artefaktprobes. |
|
||||
| `biztalk_endpoints_configured` | Einträge in `endpoints.xml`, einschließlich derzeit inaktiver. |
|
||||
| `biztalk_endpoints_active` | Im aktuellen Lauf Started/Enabled und für die Probe ausgewählt. |
|
||||
| `biztalk_endpoints_unique_targets` | Nach Host/Port/Protokoll-Deduplizierung tatsächlich verbundene Ziele. |
|
||||
| `biztalk_endpoints_tested` | Vollständig abgeschlossene Artefaktprobes. |
|
||||
| `biztalk_endpoints_available` | Erreichbare aktive Artefaktziele. |
|
||||
| `biztalk_endpoints_failed` | Nicht erreichbare aktive Artefaktziele; CRIT ab 1. |
|
||||
| `biztalk_endpoints_unsupported` | Aktive externe Adressen ohne sicher bestimmbaren Host/Port. |
|
||||
| `biztalk_endpoints_inactive_skipped` | Konfigurierte Eintraege, deren BizTalk-Artefakt aktuell nicht aktiv ist. |
|
||||
| `biztalk_endpoints_inactive_skipped` | Konfigurierte Einträge, deren BizTalk-Artefakt aktuell nicht aktiv ist. |
|
||||
| `biztalk_endpoint_probe_duration_ms` | Gesamtlaufzeit der parallelisierten Socket-Probes in Millisekunden. |
|
||||
|
||||
Bei expliziten `udp://host:port`-Eintraegen kann ein generischer Check ohne
|
||||
Bei expliziten `udp://host:port`-Einträgen kann ein generischer Check ohne
|
||||
applikationsspezifisches Protokoll nur DNS, Route und erfolgreichen lokalen
|
||||
Datagrammversand bestaetigen. Er beweist keine Antwort des entfernten
|
||||
UDP-Dienstes. Fuer alle ueblichen streambasierten Adapter wird deshalb TCP
|
||||
Datagrammversand bestätigen. Er beweist keine Antwort des entfernten
|
||||
UDP-Dienstes. Für alle üblichen streambasierten Adapter wird deshalb TCP
|
||||
verwendet.
|
||||
|
||||
## BizTalk Orchestrations
|
||||
@@ -222,10 +222,10 @@ Status:
|
||||
|
||||
| Status | Bedingung |
|
||||
| --- | --- |
|
||||
| `OK` | Daten lesbar und kein unbekannter Status; inaktive Orchestrations sind standardmaessig nur Information. |
|
||||
| `OK` | Daten lesbar und kein unbekannter Status; inaktive Orchestrations sind standardmäßig nur Information. |
|
||||
| `WARN` | stopped/bound/unbound bei `AlertOnInactiveOrchestrations=true`. |
|
||||
| `CRIT` | Mindestens ein unbekannter Statuswert. |
|
||||
| `UNKNOWN` | `MSBTS_Orchestration` nicht verlaesslich lesbar. |
|
||||
| `UNKNOWN` | `MSBTS_Orchestration` nicht verlässlich lesbar. |
|
||||
|
||||
Metriken:
|
||||
|
||||
@@ -238,21 +238,21 @@ Metriken:
|
||||
| `biztalk_orchestrations_unbound` | Unbound Orchestrations. |
|
||||
| `biztalk_orchestrations_unknown` | Nicht interpretierbarer Orchestration-Status. |
|
||||
|
||||
Allowlist-Syntax fuer Receive Locations und Send Ports:
|
||||
Allowlist-Syntax für Receive Locations und Send Ports:
|
||||
|
||||
```text
|
||||
Name|Anwendung\Name|Weiterer Name
|
||||
```
|
||||
|
||||
Die Auswertung ist case-insensitive und exakt. Wildcards werden bewusst nicht
|
||||
unterstuetzt, damit eine breite Regel keine neuen Artefaktfehler verdeckt.
|
||||
unterstützt, damit eine breite Regel keine neuen Artefaktfehler verdeckt.
|
||||
|
||||
## BizTalk Event Log
|
||||
|
||||
Zweck:
|
||||
|
||||
- Erfasst BizTalk-bezogene Errors und Warnings aus dem Windows Application Log.
|
||||
- Ergaenzt WMI-Zustandsdaten um aktuelle Laufzeitereignisse.
|
||||
- Ergänzt WMI-Zustandsdaten um aktuelle Laufzeitereignisse.
|
||||
|
||||
Status:
|
||||
|
||||
@@ -272,10 +272,10 @@ Metriken:
|
||||
|
||||
## Optionale per-Application-Services
|
||||
|
||||
Wenn `EmitPerApplicationSuspensionServices=true` gesetzt ist, werden zusaetzliche Services fuer Anwendungen erzeugt, die suspendierte Instanzen haben und deren Anwendung per WMI tatsaechlich zugeordnet werden konnte:
|
||||
Wenn `EmitPerApplicationSuspensionServices=true` gesetzt ist, werden zusätzliche Services für Anwendungen erzeugt, die suspendierte Instanzen haben und deren Anwendung per WMI tatsächlich zugeordnet werden konnte:
|
||||
|
||||
```text
|
||||
BizTalk Suspended <ApplicationName>
|
||||
```
|
||||
|
||||
Nicht zuordenbare Instanzen bleiben im stabilen Aggregat-Service enthalten; ein irrefuehrender per-Application-Service namens `(unknown)` wird nicht erzeugt. Die Option kann die Service-Anzahl erhoehen und bleibt fuer den Basisausbau deaktiviert.
|
||||
Nicht zuordenbare Instanzen bleiben im stabilen Aggregat-Service enthalten; ein irreführender per-Application-Service namens `(unknown)` wird nicht erzeugt. Die Option kann die Service-Anzahl erhöhen und bleibt für den Basisausbau deaktiviert.
|
||||
|
||||
+31
-31
@@ -10,12 +10,12 @@ Transportadressen. Fehlt die Datei
|
||||
%ProgramData%\BizTalkCheckmkPulse\data\endpoints.xml
|
||||
```
|
||||
|
||||
wird sie im ersten erfolgreichen Lauf erzeugt. Danach erfolgt der vollstaendige
|
||||
wird sie im ersten erfolgreichen Lauf erzeugt. Danach erfolgt der vollständige
|
||||
Abgleich alle `EndpointDiscoveryIntervalHours` (Default: 168 Stunden). Ein
|
||||
Fehler beim Abgleich ersetzt keinen letzten gueltigen Katalog. Checkmk meldet
|
||||
den ueberfaelligen/fehlgeschlagenen Abgleich trotzdem als `UNKNOWN`.
|
||||
Fehler beim Abgleich ersetzt keinen letzten gültigen Katalog. Checkmk meldet
|
||||
den überfälligen/fehlgeschlagenen Abgleich trotzdem als `UNKNOWN`.
|
||||
|
||||
Unabhaengig vom Wochenabgleich wird bei jedem Minutenlauf gegen den aktuellen
|
||||
Unabhängig vom Wochenabgleich wird bei jedem Minutenlauf gegen den aktuellen
|
||||
BizTalk-Runtimezustand gefiltert:
|
||||
|
||||
- Receive Location nur bei `IsDisabled=false`
|
||||
@@ -23,28 +23,28 @@ BizTalk-Runtimezustand gefiltert:
|
||||
- dynamischer Send Port nie als statisches Ziel
|
||||
|
||||
Damit wird ein inzwischen gestopptes/deaktiviertes Artefakt sofort nicht mehr
|
||||
geprueft. Neue Artefakte werden spaetestens beim naechsten Wochenabgleich
|
||||
geprüft. Neue Artefakte werden spätestens beim nächsten Wochenabgleich
|
||||
aufgenommen.
|
||||
|
||||
## Laufzeitbudget
|
||||
|
||||
Die Socket-Probes werden nach Protokoll, Host und Port dedupliziert und mit
|
||||
maximal `EndpointProbeMaxConcurrency=16` parallelen Verbindungen ausgefuehrt.
|
||||
Bei `EndpointProbeTimeoutMilliseconds=3000` benoetigen 70 vollstaendig
|
||||
maximal `EndpointProbeMaxConcurrency=16` parallelen Verbindungen ausgeführt.
|
||||
Bei `EndpointProbeTimeoutMilliseconds=3000` benötigen 70 vollständig
|
||||
timeoutende eindeutige Ziele theoretisch etwa 15 Sekunden. Die Standardgrenze
|
||||
`EndpointMaxCount=100` begrenzt diesen Anteil eines Providerlaufs auf etwa
|
||||
21 Sekunden. Nicht pruefbare aktive BizTalk-Artefakte zaehlen nicht gegen diese
|
||||
21 Sekunden. Nicht prüfbare aktive BizTalk-Artefakte zählen nicht gegen diese
|
||||
Grenze; sie werden separat als `unsupported` gemeldet.
|
||||
|
||||
Checkmk selbst wartet nicht auf diese Verbindungen, sondern liest nur den
|
||||
zuletzt atomar geschriebenen Snapshot. Die reale ACC-Laufzeit ist nach dem
|
||||
Update an `biztalk_endpoint_probe_duration_ms` sowie an `endpoint_probe_ms` und
|
||||
`elapsed_ms` im Provider-Log zu kontrollieren. Der Scheduled Task verhindert
|
||||
mit `IgnoreNew` ueberlappende Providerlaeufe.
|
||||
mit `IgnoreNew` überlappende Providerläufe.
|
||||
|
||||
## Sicherheitsmodell
|
||||
|
||||
Der Katalog speichert nicht die vollstaendige BizTalk-Adresse. Persistiert
|
||||
Der Katalog speichert nicht die vollständige BizTalk-Adresse. Persistiert
|
||||
werden nur:
|
||||
|
||||
- Artefakttyp, Anwendung, Name und Transportrolle
|
||||
@@ -53,16 +53,16 @@ werden nur:
|
||||
- Host und Port
|
||||
- `enabled` und `autoDiscovered`
|
||||
|
||||
URI-Benutzerinformationen, Kennwoerter, Pfade und Querystrings werden nicht
|
||||
geschrieben. Der Katalog liegt im bereits ACL-geschuetzten `data`-Verzeichnis;
|
||||
nur Provider und Administratoren duerfen ihn aendern. `LocalSystem` liest nur
|
||||
URI-Benutzerinformationen, Kennwörter, Pfade und Querystrings werden nicht
|
||||
geschrieben. Der Katalog liegt im bereits ACL-geschützten `data`-Verzeichnis;
|
||||
nur Provider und Administratoren dürfen ihn ändern. `LocalSystem` liest nur
|
||||
den separaten, validierten Checkmk-Snapshot.
|
||||
|
||||
## Manuelle Korrektur eines automatisch nicht aufloesbaren Endpoints
|
||||
## Manuelle Korrektur eines automatisch nicht auflösbaren Endpoints
|
||||
|
||||
Vor einer manuellen Aenderung den Scheduled Task kurz stoppen und die Datei
|
||||
sichern. Einen vorhandenen Eintrag auf den gewuenschten Host/Port korrigieren
|
||||
und `autoDiscovered="false"` setzen. Der vorhandene `key` bleibt unveraendert:
|
||||
Vor einer manuellen Änderung den Scheduled Task kurz stoppen und die Datei
|
||||
sichern. Einen vorhandenen Eintrag auf den gewünschten Host/Port korrigieren
|
||||
und `autoDiscovered="false"` setzen. Der vorhandene `key` bleibt unverändert:
|
||||
|
||||
```xml
|
||||
<Endpoint
|
||||
@@ -79,13 +79,13 @@ und `autoDiscovered="false"` setzen. Der vorhandene `key` bleibt unveraendert:
|
||||
autoDiscovered="false" />
|
||||
```
|
||||
|
||||
Manuelle Eintraege werden beim Wochenabgleich erhalten. Stimmen Artefakttyp
|
||||
und `key` mit einem Send-/Receive-Artefakt ueberein, gilt weiterhin dessen
|
||||
Started-/Enabled-Filter. Ein zusaetzliches, nicht an BizTalk gebundenes Ziel
|
||||
Manuelle Einträge werden beim Wochenabgleich erhalten. Stimmen Artefakttyp
|
||||
und `key` mit einem Send-/Receive-Artefakt überein, gilt weiterhin dessen
|
||||
Started-/Enabled-Filter. Ein zusätzliches, nicht an BizTalk gebundenes Ziel
|
||||
kann `artifactType="Manual"` verwenden; es wird bei `enabled="true"` immer
|
||||
geprueft.
|
||||
geprüft.
|
||||
|
||||
Nach dem Speichern Task wieder starten und pruefen:
|
||||
Nach dem Speichern Task wieder starten und prüfen:
|
||||
|
||||
```powershell
|
||||
Start-ScheduledTask -TaskName 'BizTalk Checkmk Pulse Provider'
|
||||
@@ -93,22 +93,22 @@ Get-Content "$env:ProgramData\BizTalkCheckmkPulse\logs\*.log" -Tail 100
|
||||
& "$env:ProgramFiles\BizTalkCheckmkPulse\BizTalkCheckmkPulse.exe" --consume
|
||||
```
|
||||
|
||||
Ungueltiges XML, doppelte Keys, falsche Maschine/Umgebung, unbekannte
|
||||
Protokolle, ungueltige Ports und uebergrosse Dateien werden verworfen. Der
|
||||
Provider kann bei vollstaendig verfuegbarem BizTalk-Runtimezustand einen
|
||||
ungueltigen rein automatisch erzeugten Katalog neu aufbauen. Deshalb muss ein
|
||||
Ungültiges XML, doppelte Keys, falsche Maschine/Umgebung, unbekannte
|
||||
Protokolle, ungültige Ports und übergroße Dateien werden verworfen. Der
|
||||
Provider kann bei vollständig verfügbarem BizTalk-Runtimezustand einen
|
||||
ungültigen rein automatisch erzeugten Katalog neu aufbauen. Deshalb muss ein
|
||||
manueller Eintrag vor dem produktiven Einsatz gesichert und im Provider-Log
|
||||
verifiziert werden.
|
||||
|
||||
## Protokollgrenzen
|
||||
|
||||
TCP-Connect ist fuer HTTP(S), SFTP, FTP, SMB/UNC, WCF und `net.tcp` der
|
||||
passende nebenwirkungsfreie Netzwerktest. Er bestaetigt DNS, Routing,
|
||||
TCP-Connect ist für HTTP(S), SFTP, FTP, SMB/UNC, WCF und `net.tcp` der
|
||||
passende nebenwirkungsfreie Netzwerktest. Er bestätigt DNS, Routing,
|
||||
Firewall und einen annehmenden TCP-Port, aber nicht die fachliche Antwort der
|
||||
Zielanwendung.
|
||||
|
||||
UDP ist verbindungslos. Bei `udp://host:port` bestaetigt der Check nur DNS,
|
||||
Route und erfolgreichen lokalen Datagrammversand. Fuer einen belastbaren
|
||||
UDP-Dienstcheck waere ein adapter-/protokollspezifisches Request/Response-
|
||||
UDP ist verbindungslos. Bei `udp://host:port` bestätigt der Check nur DNS,
|
||||
Route und erfolgreichen lokalen Datagrammversand. Für einen belastbaren
|
||||
UDP-Dienstcheck wäre ein adapter-/protokollspezifisches Request/Response-
|
||||
Payload erforderlich; ein solches fachliches Paket wird bewusst nicht
|
||||
erfunden.
|
||||
|
||||
@@ -53,7 +53,7 @@ werden nicht doppelt zum Total addiert.
|
||||
2 "BizTalk Receive Locations" ... affected=App\RL1, App\RL2, App\RL3, App\RL4, App\RL5 (+17 more)
|
||||
```
|
||||
|
||||
Die Zaehler und Performance-Daten enthalten weiterhin alle 22 betroffenen
|
||||
Die Zähler und Performance-Daten enthalten weiterhin alle 22 betroffenen
|
||||
Artefakte. Nur die Textliste ist begrenzt.
|
||||
|
||||
## Endpoint-Erreichbarkeit
|
||||
|
||||
+23
-23
@@ -1,24 +1,24 @@
|
||||
# Checkmk-Integration und Betriebsuebergabe
|
||||
# Checkmk-Integration und Betriebsübergabe
|
||||
|
||||
## Verantwortungsgrenzen
|
||||
|
||||
| Team | Aufgabe |
|
||||
| --- | --- |
|
||||
| AD/Security | normales dediziertes Servicekonto; Aufnahme in exakt konfigurierte BizTalk-Read-Only-Gruppe |
|
||||
| BizTalk/SQL | Gruppenabbildung und `BTS_READONLY_USERS` bestaetigen; keine Einzelrechte |
|
||||
| Windows | Paket installieren, ACL und Scheduled Task pruefen |
|
||||
| BizTalk/SQL | Gruppenabbildung und `BTS_READONLY_USERS` bestätigen; keine Einzelrechte |
|
||||
| Windows | Paket installieren, ACL und Scheduled Task prüfen |
|
||||
| Checkmk | Wrapper verteilen beziehungsweise Installation koordinieren, Discovery und Alarmierung |
|
||||
|
||||
Der Checkmk-Agent bleibt `LocalSystem`. Er greift weder auf BizTalk-WMI noch
|
||||
auf SQL zu. Der minuetliche Scheduled Task sammelt unter dem privilegierten
|
||||
auf SQL zu. Der minütliche Scheduled Task sammelt unter dem privilegierten
|
||||
Provider-Konto und publiziert einen validierbaren Snapshot.
|
||||
|
||||
## Installation
|
||||
|
||||
`BizTalkCheckmkPulse-Setup.zip` vollstaendig entpacken, `Setup.exe` als
|
||||
`BizTalkCheckmkPulse-Setup.zip` vollständig entpacken, `Setup.exe` als
|
||||
Administrator starten und Konto, Kennwort sowie Umgebung eingeben. Konten wie
|
||||
`BEW\t231bizmon` werden direkt im Windows-Format `DOMAIN\Benutzer` verarbeitet.
|
||||
Der Installer benoetigt keine PowerShell.
|
||||
Der Installer benötigt keine PowerShell.
|
||||
|
||||
Der Installer legt den Local Check hier ab:
|
||||
|
||||
@@ -36,10 +36,10 @@ Die EXE liegt zentral hier:
|
||||
|
||||
Der Wrapper darf synchron laufen, da er nur einen kleinen lokalen Snapshot
|
||||
liest. Eine alte Async-Regel mit `cache_age: 300` aus der direkten
|
||||
WMI-Architektur soll entfernt werden; andernfalls addiert sie eine unnoetige
|
||||
Verzoegerung zum minuetlichen Provider.
|
||||
WMI-Architektur soll entfernt werden; andernfalls addiert sie eine unnötige
|
||||
Verzögerung zum minütlichen Provider.
|
||||
|
||||
Aktive Agentkonfiguration pruefen:
|
||||
Aktive Agentkonfiguration prüfen:
|
||||
|
||||
```cmd
|
||||
"C:\Program Files (x86)\checkmk\service\check_mk_agent.exe" showconfig local
|
||||
@@ -54,9 +54,9 @@ Verbindlicher Agent-Dump:
|
||||
## Service Discovery
|
||||
|
||||
1. Provider dreimal erfolgreich laufen lassen.
|
||||
2. `LastTaskResult=0`, frischen Snapshot und Log pruefen.
|
||||
3. Agent-Dump im `LocalSystem`-Kontext pruefen.
|
||||
4. Service Discovery fuer den BizTalk-Host ausfuehren.
|
||||
2. `LastTaskResult=0`, frischen Snapshot und Log prüfen.
|
||||
3. Agent-Dump im `LocalSystem`-Kontext prüfen.
|
||||
4. Service Discovery für den BizTalk-Host ausführen.
|
||||
5. neun stabile Services aufnehmen und den alten
|
||||
`BizTalk Runtime Artifacts`-Service entfernen.
|
||||
6. Changes aktivieren.
|
||||
@@ -85,7 +85,7 @@ Die komplette Installation umfasst mehr als eine Dateiablage:
|
||||
- Local-Check-Wrapper.
|
||||
|
||||
Der Wrapper allein kann per Agent Bakery verteilt werden, ersetzt aber nicht
|
||||
die lokale Providerinstallation und die Kontofreigabe. Fuer den ersten Rollout
|
||||
die lokale Providerinstallation und die Kontofreigabe. Für den ersten Rollout
|
||||
ist das signierte/abgenommene Deployment-Paket mit administrativer
|
||||
Installationsautomation die klarere Variante.
|
||||
|
||||
@@ -100,27 +100,27 @@ type "%ProgramData%\BizTalkCheckmkPulse\logs\biztalk-checkmk-pulse-*.log"
|
||||
|
||||
Soll:
|
||||
|
||||
- Task laeuft jede Minute und endet mit `0`.
|
||||
- Snapshot ist kleiner als `SnapshotMaxBytes` und juenger als 180 Sekunden.
|
||||
- Task läuft jede Minute und endet mit `0`.
|
||||
- Snapshot ist kleiner als `SnapshotMaxBytes` und jünger als 180 Sekunden.
|
||||
- Log nennt das dedizierte Providerkonto.
|
||||
- Platform zeigt `read_only_group=...`.
|
||||
- SQL Access zeigt `targets=2`, `available=2`.
|
||||
- Suspended Instances zeigt total/resumable/non-resumable/routing failures.
|
||||
- Receive Locations und Send Ports zeigen getrennte expected/unexpected Werte.
|
||||
- Endpoint Reachability zeigt bei Erfolg nur die Gesamtzahl und bei Fehlern
|
||||
ausschliesslich nicht erreichbare Ziele.
|
||||
ausschließlich nicht erreichbare Ziele.
|
||||
- keine berechtigungsbedingten `UNKNOWN`-Services.
|
||||
|
||||
## Alarmierung der Transportkette
|
||||
|
||||
Ein Ausfall des Providers wird ueber alle neun Services als `UNKNOWN`
|
||||
sichtbar. Die Summary nennt fehlenden, unlesbaren, ungueltigen oder stale
|
||||
Ein Ausfall des Providers wird über alle neun Services als `UNKNOWN`
|
||||
sichtbar. Die Summary nennt fehlenden, unlesbaren, ungültigen oder stale
|
||||
Snapshot. Als Betriebsregel sollte `UNKNOWN` dieser Services genauso
|
||||
eskaliert werden wie ein technischer Monitoringausfall.
|
||||
|
||||
Optional kann Windows Task Scheduler zusaetzlich durch vorhandene Checkmk
|
||||
Task-/Event-Log-Regeln ueberwacht werden. Das ist eine Ergaenzung, kein Ersatz
|
||||
fuer die eingebaute Stale-Pruefung.
|
||||
Optional kann Windows Task Scheduler zusätzlich durch vorhandene Checkmk
|
||||
Task-/Event-Log-Regeln überwacht werden. Das ist eine Ergänzung, kein Ersatz
|
||||
für die eingebaute Stale-Prüfung.
|
||||
|
||||
## Rollout
|
||||
|
||||
@@ -128,7 +128,7 @@ Empfohlene Reihenfolge:
|
||||
|
||||
1. ACC: Berechtigung, Task, Snapshot, Stale-Test und Discovery abnehmen.
|
||||
2. DEV/TST: gleiche Automatisierung und umgebungsspezifische Config.
|
||||
3. PRD: Change, Wartungsfenster, Healthcheck und fachliche Plausibilitaet.
|
||||
3. PRD: Change, Wartungsfenster, Healthcheck und fachliche Plausibilität.
|
||||
|
||||
Ausfuehrliche Architektur, ACL, Fehlerbilder und Abnahmekriterien:
|
||||
Ausführliche Architektur, ACL, Fehlerbilder und Abnahmekriterien:
|
||||
[Dokumentation.md](../Dokumentation.md).
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="720" viewBox="0 0 1200 720" role="img" aria-labelledby="title description">
|
||||
<title id="title">BizTalk Checkmk Pulse Architektur</title>
|
||||
<desc id="description">Ein privilegierter Scheduled Task liest BizTalk-Daten und prueft aktive Endpunkte. Er schreibt einen validierten Snapshot, den der Checkmk-Agent als LocalSystem nur konsumiert.</desc>
|
||||
<desc id="description">Ein privilegierter Scheduled Task liest BizTalk-Daten und prüft aktive Endpunkte. Er schreibt einen validierten Snapshot, den der Checkmk-Agent als LocalSystem nur konsumiert.</desc>
|
||||
<defs>
|
||||
<marker id="arrow-blue" markerWidth="10" markerHeight="10" refX="9" refY="3" orient="auto" markerUnits="strokeWidth">
|
||||
<path d="M0,0 L0,6 L9,3 z" fill="#2563eb"/>
|
||||
@@ -38,7 +38,7 @@
|
||||
<rect x="70" y="175" width="245" height="105" rx="14" class="provider-box"/>
|
||||
<text x="192" y="207" text-anchor="middle" class="box-title">Scheduled Task</text>
|
||||
<text x="192" y="232" text-anchor="middle" class="box-text">jede Minute, RunLevel Limited</text>
|
||||
<text x="192" y="254" text-anchor="middle" class="box-text">IgnoreNew verhindert Ueberlappung</text>
|
||||
<text x="192" y="254" text-anchor="middle" class="box-text">IgnoreNew verhindert Überlappung</text>
|
||||
</g>
|
||||
|
||||
<g filter="url(#shadow)">
|
||||
|
||||
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.1 KiB |
Reference in New Issue
Block a user