# Checkmk Services und Metriken Alle Services werden als Checkmk Local Checks ausgegeben. Das Format ist: ```text "" ``` 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 minütlich vom privilegierten Scheduled-Task- Provider erzeugt. Der Checkmk-Agent liest als `LocalSystem` nur den integritäts- und altersgeprüften Snapshot. Ist dieser Transport nicht verfügbar, liefern alle neun stabilen Services `UNKNOWN`. ## BizTalk Platform Zweck: - 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 vollständigen Datenbankziele. | | `UNKNOWN` | Namespace, `MSBTS_GroupSetting`, ein erforderliches Datenbankziel oder der Programmstart fehlgeschlagen. | Metriken: - keine ## BizTalk SQL Access Zweck: - 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 prüft den für das BizTalk-Monitoring relevanten Zugriff des dedizierten Provider-Kontos. Status: | Status | Bedingung | | --- | --- | | `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 öffnbar oder fehlende Berechtigung. | | `Sql/Connectivity` | DNS, SQL-Dienst, Instanz, TCP-Port oder Firewall nicht erreichbar. | | `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 unvollständig oder TLS-, Zertifikats-, SPN-/SSPI-Konfiguration fehlerhaft. | 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: | Metrik | Bedeutung | | --- | --- | | `biztalk_sql_targets_total` | Anzahl eindeutiger Management-/MessageBox-Ziele. | | `biztalk_sql_targets_available` | Erfolgreich getestete SQL-Ziele. | | `biztalk_sql_targets_failed` | Fehlgeschlagene SQL-Ziele. | ## BizTalk Suspended Instances Zweck: - Ermittelt suspendierte BizTalk-Service-Instanzen. - Unterscheidet resumable und non-resumable. - Zählt Routing Failure Reports (`ServiceClass=64`) separat. - Zeigt betroffene Anwendungen und Beispiele in der Summary. Status: | Status | Bedingung | | --- | --- | | `OK` | keine suspendierten Instanzen. | | `WARN` | `biztalk_suspended_resumable >= WarnResumableThreshold`. | | `CRIT` | `biztalk_suspended_nonresumable >= CritNonResumableThreshold`. | | `CRIT` | `biztalk_routing_failure_reports >= CritRoutingFailureThreshold`. | | `UNKNOWN` | `MSBTS_ServiceInstance` nicht verlässlich lesbar oder Programmfehler. | Metriken: | Metrik | Bedeutung | | --- | --- | | `biztalk_suspended_total` | Summe aller suspendierten Instanzen. | | `biztalk_suspended_resumable` | Resumable suspended instances. | | `biztalk_suspended_nonresumable` | Non-resumable suspended instances. | | `biztalk_routing_failure_reports` | Routing Failure Reports; Teilmenge der non-resumable Instanzen. | ## BizTalk Host Instances Zweck: - Ü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. Status: | Status | Bedingung | | --- | --- | | `OK` | alle Host Instances sind started. | | `WARN` | mindestens eine Host Instance ist pending. | | `CRIT` | mindestens eine Host Instance ist stopped oder unknown. | | `UNKNOWN` | keine Host Instances gefunden oder WMI/Programmfehler. | Metriken: | Metrik | Bedeutung | | --- | --- | | `biztalk_host_instances_total` | Gesamtzahl Host Instances. | | `biztalk_host_instances_started` | Gestartete Host Instances. | | `biztalk_host_instances_stopped` | Gestoppte Host Instances. | | `biztalk_host_instances_pending` | StartPending/StopPending. | | `biztalk_host_instances_unknown` | Nicht interpretierbarer Status. | ## BizTalk Receive Locations Zweck: - Zählt alle konfigurierten Receive Locations und ihren `IsDisabled`-Zustand. - Trennt bewusst deaktivierte von unerwartet deaktivierten Namen. Status: | Status | Bedingung | | --- | --- | | `OK` | Daten lesbar und keine unerwartet deaktivierte Receive Location. | | `CRIT` | Mindestens eine unerwartet deaktivierte Receive Location bei `AlertOnArtifactRuntimeIssues=true`. | | `UNKNOWN` | `MSBTS_ReceiveLocation` nicht verlässlich lesbar oder `IsDisabled` eines Objekts nicht interpretierbar. | Metriken: | Metrik | Bedeutung | | --- | --- | | `biztalk_receive_locations_total` | Gesamtzahl Receive Locations. | | `biztalk_receive_locations_enabled` | Aktivierte Receive Locations. | | `biztalk_receive_locations_disabled` | Deaktivierte Receive Locations. | | `biztalk_receive_locations_unexpected_disabled` | Deaktiviert und nicht in der Allowlist; CRIT ab 1. | | `biztalk_receive_locations_expected_disabled` | Bewusst deaktiviert und exakt allowlisted. | | `biztalk_receive_locations_unknown` | Fehlender oder nicht interpretierbarer `IsDisabled`-Wert. | ## BizTalk Send Ports Status: | Status | Bedingung | | --- | --- | | `OK` | Alle nicht allowlisted Send Ports sind started. | | `CRIT` | Mindestens ein unerwartet stopped/bound Port oder unbekannter Status. | | `UNKNOWN` | `MSBTS_SendPort` nicht verlässlich lesbar. | Metriken: | Metrik | Bedeutung | | --- | --- | | `biztalk_send_ports_total` | Gesamtzahl Send Ports. | | `biztalk_send_ports_started` | Gestartete Send Ports. | | `biztalk_send_ports_stopped` | Enlisted, Subscription deaktiviert (`Status=2`). | | `biztalk_send_ports_bound` | Bound/unenlisted (`Status=1`). | | `biztalk_send_ports_unexpected_inactive` | Stopped/bound und nicht allowlisted; CRIT ab 1. | | `biztalk_send_ports_expected_inactive` | Bewusst inactive und exakt allowlisted. | | `biztalk_send_ports_unknown` | Nicht interpretierbarer Send-Port-Status. | ## BizTalk Endpoint Reachability Zweck: - Prüft nur Receive Locations mit `IsDisabled=false` und Send Ports mit `Status=Started`. - Reduziert die Adresse auf Host/Port und führt keinen fachlichen HTTP-, FTP-, SFTP-, WCF- oder BizTalk-Aufruf aus. - Erkennt unter anderem Standard-URIs, UNC, MSMQ, `net.tcp`, WCF-SQL- `mssql`-URIs und lokale HTTP-/WCF-Wildcard-Listener. - Behandelt Adressen ohne eigenständiges Socket-Ziel (zum Beispiel lokale Pfade, SMTP-Empfänger, Named Pipes und relative Receive-Listener) als erwartbar ausgenommen und nicht als Abdeckungsfehler. - 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=`. Status: | Status | Bedingung | | --- | --- | | `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 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` | 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_unresolved` | Aktive statische Netzwerkadressen ohne sicher bestimmbaren Host/Port; `UNKNOWN` ab 1, sofern kein manueller Override existiert. | | `biztalk_endpoints_expected_non_socket` | Aktive Artefakte, deren Adresse erwartbar kein eigenständiges TCP-/UDP-Ziel enthält. | | `biztalk_endpoints_manual_overrides` | Aktive Ziele, die bewusst über einen geheimnisfreien manuellen Katalogeintrag aufgelöst werden. | | `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`-Einträgen kann ein generischer Check ohne applikationsspezifisches Protokoll nur DNS, Route und erfolgreichen lokalen Datagrammversand bestätigen. Er beweist keine Antwort des entfernten UDP-Dienstes. Für alle üblichen streambasierten Adapter wird deshalb TCP verwendet. ## BizTalk Orchestrations Status: | Status | Bedingung | | --- | --- | | `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 verlässlich lesbar. | Metriken: | Metrik | Bedeutung | | --- | --- | | `biztalk_orchestrations_total` | Gesamtzahl Orchestrations. | | `biztalk_orchestrations_started` | Gestartete Orchestrations. | | `biztalk_orchestrations_stopped` | Gestoppte Orchestrations. | | `biztalk_orchestrations_bound` | Bound Orchestrations. | | `biztalk_orchestrations_unbound` | Unbound Orchestrations. | | `biztalk_orchestrations_unknown` | Nicht interpretierbarer Orchestration-Status. | 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 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. - Ergänzt WMI-Zustandsdaten um aktuelle Laufzeitereignisse. Status: | Status | Bedingung | | --- | --- | | `OK` | Schwellwerte nicht erreicht. | | `WARN` | Errors oder Warnings ab `EventLogWarnThreshold`. | | `CRIT` | Errors ab `EventLogCritThreshold`. | | `UNKNOWN` | Application Event Log nicht lesbar. | Metriken: | Metrik | Bedeutung | | --- | --- | | `biztalk_eventlog_errors` | BizTalk-bezogene Errors im Lookback-Fenster. | | `biztalk_eventlog_warnings` | BizTalk-bezogene Warnings im Lookback-Fenster. | ## Optionale per-Application-Services 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 ``` 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.