170 lines
6.7 KiB
Markdown
170 lines
6.7 KiB
Markdown
# ACC-Analyse: Checkmk-Datenalter und Endpoint Reachability
|
|
|
|
## Befund
|
|
|
|
Die am 10.08.2026 bereitgestellten ACC-Artefakte zeigen zwei getrennte
|
|
Fehlerbilder.
|
|
|
|
### 1. Checkmk findet die neun Services nicht mehr
|
|
|
|
Die Checkmk-Ansicht erwartet die bisherigen Namen ohne Umgebung, zum Beispiel:
|
|
|
|
```text
|
|
BizTalk Endpoint Reachability
|
|
BizTalk Platform
|
|
BizTalk SQL Access
|
|
```
|
|
|
|
Der aktuelle Snapshot enthält dagegen ausschließlich umbenannte Services:
|
|
|
|
```text
|
|
BizTalk ACC Endpoint Reachability
|
|
BizTalk ACC Platform
|
|
BizTalk ACC SQL Access
|
|
```
|
|
|
|
Damit ist `Item not found in monitoring data` kein Beleg für einen veralteten
|
|
oder fehlenden Snapshot. Checkmk sucht nach einem anderen Servicenamen als der
|
|
Agent aktuell liefert. Die unterschiedlichen Alterswerte sind die Zeitpunkte,
|
|
zu denen Checkmk die jeweiligen alten Namen zuletzt gesehen hat.
|
|
|
|
Ursache in Version 2.2.1: `EnvironmentName=ACC` wurde zugleich als
|
|
Servicenamensbestandteil verwendet. Das Installerfeld „Umgebung“ konnte damit
|
|
bei einem Update den stabilen Checkmk-Vertrag unbeabsichtigt ändern.
|
|
|
|
### 2. Endpoint-Probe ist schnell und erfolgreich, wird aber als UNKNOWN formatiert
|
|
|
|
Der Snapshot belegt:
|
|
|
|
| Wert | ACC-Befund |
|
|
| --- | ---: |
|
|
| aktive Transportkandidaten laut Katalog | 135 |
|
|
| automatisch konfigurierte/prüfbare Artefakte | 64 |
|
|
| vollständig getestete Artefakte | 64 |
|
|
| erreichbare Artefakte | 64 |
|
|
| fehlgeschlagene Artefakte | 0 |
|
|
| eindeutige Host-/Port-/Protokoll-Ziele | 17 |
|
|
| nicht automatisch auflösbare externe Kandidaten | 61 |
|
|
| Probe-Laufzeit | 266 ms |
|
|
|
|
Die Netzwerkprobe selbst ist damit weder veraltet noch langsam. Sie
|
|
dedupliziert 64 Artefakte auf 17 Netzwerkverbindungen und schließt alle Probes
|
|
in deutlich unter einer Sekunde ab.
|
|
|
|
Version 2.2.1 behandelt jedoch jeden Wert
|
|
`biztalk_endpoints_unsupported > 0` als unvollständiges Ergebnis. Deshalb wird
|
|
der Service trotz `available=64` und `failed=0` als `UNKNOWN` ausgegeben. Die
|
|
61 Kandidaten fehlen erwartungsgemäß in `endpoints.xml`, weil für sie kein
|
|
sicherer und geheimnisfreier Host/Port ermittelt werden konnte. Das ist eine
|
|
Abdeckungsinformation, kein Fehler der 64 ausgeführten Probes.
|
|
|
|
Aus `135 - 64 - 61` ergeben sich zusätzlich 10 lokale, dynamische oder bewusst
|
|
nicht netzwerkprüfbare Kandidaten. Version 2.2.2 weist sie explizit als
|
|
`excluded` aus.
|
|
|
|
## Korrektur in Version 2.2.2
|
|
|
|
### Stabile Servicenamen
|
|
|
|
- `EnvironmentName` bleibt Umgebungsmetadatum für Snapshot und Katalog.
|
|
- Standard `IncludeEnvironmentInServiceName=false`: Die neun Namen bleiben
|
|
`BizTalk ...` und passen wieder zu den bereits entdeckten ACC-Services.
|
|
- Nur ein bewusstes Opt-in mit `true` erzeugt Namen wie `BizTalk ACC ...` und
|
|
verlangt anschließend eine Checkmk Service Discovery.
|
|
- Version 2.2.3 ergänzt einen versionsübergreifenden Installer-Schutz: Der
|
|
tatsächliche Servicevertrag der vorhandenen und der neuen EXE wird vor dem
|
|
Task-Stopp verglichen. Unbestätigte Renames, neue oder entfernte Services
|
|
blockieren das Update; die Differenz wird vollständig angezeigt.
|
|
- Version 2.2.4 erzwingt nach der Umschaltung einen frischen vollständigen
|
|
Endpoint-Katalogabgleich und akzeptiert die Installation erst nach einem
|
|
erfolgreichen Providerlauf mit neuem, identitäts- und integritätsgeprüftem
|
|
Snapshot sowie neun verlässlichen stabilen Services.
|
|
|
|
### Korrekte Abdeckungssemantik
|
|
|
|
- Erfolgreich geprüfte Ziele bestimmen den Zustand der Endpoint-Probe.
|
|
- Ein fehlgeschlagenes getestetes Ziel bleibt `CRIT`.
|
|
- `unsupported` und `excluded` werden als vollständige Metriken ausgegeben,
|
|
führen neben erfolgreicher Prüfabdeckung aber nicht mehr zu `UNKNOWN`.
|
|
- Wenn externe `unsupported`-Kandidaten existieren und überhaupt kein Ziel
|
|
automatisch geprüft werden kann, bleibt der Service bewusst `UNKNOWN`.
|
|
|
|
### Sofortige Katalogkonsistenz
|
|
|
|
Der Provider vergleicht in jedem Minutenlauf die bereits aus WMI gelesenen
|
|
aktiven Kandidaten mit dem Katalog. Folgende Änderungen lösen sofort einen
|
|
atomaren Neuabgleich aus:
|
|
|
|
- neuer, deaktivierter oder entfernter prüfbarer Artefaktschlüssel,
|
|
- geänderter Host, Port oder Protokoll eines vorhandenen Artefakts,
|
|
- geänderte Zahl aktiver oder nicht automatisch auflösbarer Kandidaten.
|
|
|
|
Manuelle Overrides gelten weiterhin als beabsichtigte Abdeckung und lösen
|
|
keine Refresh-Schleife aus. Der 168-Stunden-Abgleich bleibt als zusätzliche
|
|
Frischegrenze bestehen.
|
|
|
|
### Laufzeitgrenzen
|
|
|
|
Die performante Implementierung bleibt unverändert:
|
|
|
|
- Deduplizierung nach Protokoll, Host und Port,
|
|
- maximal 16 parallele Probes,
|
|
- 3 Sekunden Timeout je eindeutiges Ziel,
|
|
- maximal 100 automatisch konfigurierte Endpoint-Einträge.
|
|
|
|
Der beobachtete ACC-Wert von 266 ms für 17 eindeutige Ziele liegt deutlich im
|
|
Minutenbudget.
|
|
|
|
## Erwartung nach dem Update
|
|
|
|
Der Endpoint-Service sollte bei unverändertem ACC-Zustand sinngemäß liefern:
|
|
|
|
```text
|
|
0 "BizTalk Endpoint Reachability" ... candidates=135 ... active=64 ...
|
|
available=64 ... failed=0 ... unsupported=61 ... excluded=10 ...
|
|
unique_targets=17 ... probe_ms=<Laufzeit>
|
|
```
|
|
|
|
Die übrigen fachlichen Zustände aus dem gelieferten Snapshot werden danach in
|
|
Checkmk wieder sichtbar und sind getrennt zu bewerten:
|
|
|
|
- 3 resumable Suspensions: `WARN`,
|
|
- 2 Host Instances mit unbekanntem Status: `CRIT`,
|
|
- 22 nicht allowlistete deaktivierte Receive Locations: `CRIT`,
|
|
- 17 nicht allowlistete inaktive Send Ports: `CRIT`,
|
|
- 2 Errors und 6 Warnings im Event-Log-Zeitfenster: `WARN`.
|
|
|
|
Diese Zustände sind nicht die Ursache des Datenalters und werden durch den
|
|
Endpoint-/Namensfix bewusst nicht grüngefärbt.
|
|
|
|
## ACC-Abnahme nach Installation
|
|
|
|
1. Setup 2.2.5 als Update ausführen; Umgebung `ACC` kann bestehen bleiben.
|
|
Beim Wechsel von der fehlerhaften 2.2.1-Ausgabe `BizTalk ACC ...` auf die
|
|
stabilen Namen die Rename-/Discovery-Checkbox bewusst aktivieren.
|
|
2. In der installierten Config bestätigen:
|
|
|
|
```text
|
|
EnvironmentName=ACC
|
|
IncludeEnvironmentInServiceName=false
|
|
```
|
|
|
|
3. Scheduled Task manuell starten und `LastTaskResult=0` prüfen.
|
|
4. Snapshot zweimal im Abstand von ungefähr einer Minute prüfen; `generatedUtc`
|
|
muss fortschreiten und die Namen müssen `BizTalk ...` ohne `ACC` lauten.
|
|
5. `BizTalk Endpoint Reachability` muss bei `failed=0` und vorhandener
|
|
automatischer Prüfabdeckung `OK` liefern. `unsupported`/`excluded` bleiben
|
|
als Metriken sichtbar.
|
|
6. Agent-Dump prüfen:
|
|
|
|
```cmd
|
|
"C:\Program Files (x86)\checkmk\service\cmk-agent-ctl.exe" dump | findstr /C:"BizTalk "
|
|
```
|
|
|
|
7. Checkmk-Prüfung neu planen. Die bestehenden neun Namen sollten ohne
|
|
Umbenennung wieder Daten erhalten. Nur falls Checkmk noch alte
|
|
`BizTalk ACC ...`-Services enthält, einmal Service Discovery durchführen
|
|
und die bewusst falschen Namen entfernen.
|
|
8. `biztalk_endpoint_probe_duration_ms` und `elapsed_ms` über mehrere Läufe
|
|
beobachten; der Task darf nicht in das nächste Minutenintervall laufen.
|