Files
biztalk-checkmk-pulse/docs/CheckmkServices.md
T

13 KiB

Checkmk Services und Metriken

Alle Services werden als Checkmk Local Checks ausgegeben. Das Format ist:

<state> "<service name>" <metrics-or-minus> <summary>

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, schemafreie host:port-Angaben, FTP-/SFTP-Ziele mit optionalen Benutzerinformationen sowie lokale HTTP-/WCF-Wildcard-Listener.
  • Schließt Scheduling-Komponenten vollständig aus. Oracle-DATABASE- und WCF-SAP-Adressen werden, soweit eindeutig möglich, als TCP-Best-Effort-Ziel geprüft; fehlende Ableitung und fehlgeschlagene Best-Effort-Probes alarmieren nicht.
  • 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 alarmierenden Ziele erreichbar. Best-Effort-Fehler bei DATABASE/WCF-SAP sind höchstens als Metrik sichtbar.
CRIT Mindestens ein reguläres oder manuell konfiguriertes 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_best_effort Automatisch abgeleitete aktive Oracle-DATABASE-/WCF-SAP-Ziele.
biztalk_endpoints_best_effort_ignored Fehlgeschlagene Best-Effort-Probes, die vereinbarungsgemäß keinen Alarm auslösen.
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:

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:

BizTalk Suspended <ApplicationName>

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.