Add BizTalk Checkmk Pulse local check

This commit is contained in:
2026-07-22 11:34:28 +02:00
commit 7660dc4555
20 changed files with 1919 additions and 0 deletions
+144
View File
@@ -0,0 +1,144 @@
# Checkmk Services und Metriken
Alle Services werden als Checkmk Local Checks ausgegeben. Das Format ist:
```text
<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.
## BizTalk Platform
Zweck:
- Prueft, ob der BizTalk-WMI-Namespace erreichbar ist.
- Zeigt Server, Gruppe, Management-DB und MessageBox-DB, soweit WMI diese Werte liefert.
Status:
| Status | Bedingung |
| --- | --- |
| `OK` | WMI-Verbindung erfolgreich. |
| `UNKNOWN` | WMI-Verbindung oder Programmstart fehlgeschlagen. |
Metriken:
- keine
## BizTalk Suspended Instances
Zweck:
- Ermittelt suspendierte BizTalk-Service-Instanzen.
- Unterscheidet resumable und non-resumable.
- 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`. |
| `UNKNOWN` | WMI 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 Host Instances
Zweck:
- Ueberwacht BizTalk Host Instances auf dem BizTalk-Server.
- 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 Runtime Artifacts
Zweck:
- Summiert Laufzeitzustaende von Receive Locations, Send Ports und Orchestrations.
- Liefert dashboard-taugliche Zahlen zur Laufzeitlandschaft.
Status:
| Status | Bedingung |
| --- | --- |
| `OK` | Artefakte lesbar; keine unbekannten Statuswerte. |
| `WARN` | Nur bei `AlertOnArtifactRuntimeIssues=true` und inaktiven/deaktivierten Artefakten. |
| `CRIT` | Unbekannte Send-Port- oder Orchestration-Statuswerte. |
| `UNKNOWN` | Programmfehler. |
Metriken:
| Metrik | Bedeutung |
| --- | --- |
| `biztalk_applications` | Anzahl erkannter BizTalk-Anwendungen. |
| `biztalk_receive_locations` | Gesamtzahl Receive Locations. |
| `biztalk_receive_locations_disabled` | Deaktivierte Receive Locations. |
| `biztalk_send_ports` | Gesamtzahl Send Ports. |
| `biztalk_send_ports_started` | Gestartete Send Ports. |
| `biztalk_send_ports_inactive` | Bound oder stopped Send Ports. |
| `biztalk_send_ports_unknown` | Nicht interpretierbarer Send-Port-Status. |
| `biztalk_orchestrations` | Gesamtzahl Orchestrations. |
| `biztalk_orchestrations_started` | Gestartete Orchestrations. |
| `biztalk_orchestrations_inactive` | Bound, unbound oder stopped Orchestrations. |
| `biztalk_orchestrations_unknown` | Nicht interpretierbarer Orchestration-Status. |
## BizTalk Event Log
Zweck:
- Erfasst BizTalk-bezogene Errors und Warnings aus dem Windows Application Log.
- Ergaenzt 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 zusaetzliche Services fuer Anwendungen erzeugt, die suspendierte Instanzen haben:
```text
BizTalk Suspended <ApplicationName>
```
Das ist fuer Anwendungsteams hilfreich, kann aber die Service-Anzahl erhoehen. Fuer den Basisausbau wird empfohlen, diese Option deaktiviert zu lassen.
+31
View File
@@ -0,0 +1,31 @@
# Beispielausgaben
## Self-Test
```text
0 "BizTalk Platform" - Self test OK. Checkmk local check output is valid.
0 "BizTalk Suspended Instances" biztalk_suspended_total=0;;;0 Self test OK.
```
## Gesunder BizTalk-Server
```text
0 "BizTalk Platform" - BizTalk WMI reachable, server=BIZTALK01, group=BizTalkMgmtDb, mgmt_db=SQL01\BizTalkMgmtDb, msgbox_db=SQL01\BizTalkMsgBoxDb
0 "BizTalk Suspended Instances" biztalk_suspended_total=0;;;0|biztalk_suspended_resumable=0;1;;0|biztalk_suspended_nonresumable=0;;1;0 No suspended BizTalk service instances found.
0 "BizTalk Host Instances" biztalk_host_instances_total=4;;;0|biztalk_host_instances_started=4;;;0|biztalk_host_instances_stopped=0;;1;0|biztalk_host_instances_pending=0;1;;0|biztalk_host_instances_unknown=0;;1;0 Host instances total=4, started=4, stopped=0, pending=0, unknown=0
0 "BizTalk Runtime Artifacts" biztalk_applications=8;;;0|biztalk_receive_locations=24;;;0|biztalk_receive_locations_disabled=0;1;;0|biztalk_send_ports=31;;;0|biztalk_send_ports_started=31;;;0|biztalk_send_ports_inactive=0;1;;0|biztalk_send_ports_unknown=0;;1;0|biztalk_orchestrations=12;;;0|biztalk_orchestrations_started=12;;;0|biztalk_orchestrations_inactive=0;1;;0|biztalk_orchestrations_unknown=0;;1;0 Applications=8; receive_locations total=24, disabled=0; send_ports total=31, started=31, inactive=0, unknown=0; orchestrations total=12, started=12, inactive=0, unknown=0
0 "BizTalk Event Log" biztalk_eventlog_errors=0;1;10;0|biztalk_eventlog_warnings=0;1;;0 BizTalk-related Application log entries in last 60 minutes: errors=0, warnings=0
```
## Suspended Instances
```text
2 "BizTalk Suspended Instances" biztalk_suspended_total=3;;;0|biztalk_suspended_resumable=2;1;;0|biztalk_suspended_nonresumable=1;;1;0 3 suspended BizTalk service instance(s): resumable=2, nonresumable=1; applications=OrderProcessing(R=2, NR=1); examples=Send.Invoice on ProcessingHost
```
## Fehlendes Deployment
```text
3 "BizTalk Platform" - BizTalkCheckmkPulse.exe not found below C:\ProgramData\checkmk\agent\local\BizTalkCheckmkPulse
```
+71
View File
@@ -0,0 +1,71 @@
# Integration in Checkmk
## Zielstruktur auf dem BizTalk-Server
```text
%ProgramData%\checkmk\agent\local\biztalk_checkmk_pulse.cmd
%ProgramData%\checkmk\agent\local\BizTalkCheckmkPulse\BizTalkCheckmkPulse.exe
%ProgramData%\checkmk\agent\local\BizTalkCheckmkPulse\BizTalkCheckmkPulse.exe.config
```
## Manuelle Installation
1. Release-Paket auf den BizTalk-Server kopieren.
2. Inhalt nach `%ProgramData%\checkmk\agent\local` kopieren.
3. Optional `EnvironmentName` in der `.exe.config` setzen.
4. Test ausfuehren:
```cmd
"%ProgramData%\checkmk\agent\local\biztalk_checkmk_pulse.cmd" --self-test
"%ProgramData%\checkmk\agent\local\biztalk_checkmk_pulse.cmd"
```
5. Agent-Ausgabe pruefen:
```cmd
"C:\Program Files (x86)\checkmk\service\cmk-agent-ctl.exe" dump
```
6. In Checkmk:
- Host oeffnen
- Service Discovery ausfuehren
- gefundene `BizTalk ...` Services aufnehmen
- Changes aktivieren
## Agent Bakery
Checkmk Managed Services Edition 2.4 enthaelt die kommerziellen Mechanismen fuer Agent Bakery. Fuer einen sauberen Rollout:
1. Deployment-Dateien als Custom Files oder ueber ein spaeteres MKP bereitstellen.
2. Regel nur auf BizTalk-Hosts anwenden, z.B. Host-Tag `application:biztalk`.
3. Gebackenen Windows-Agenten fuer die BizTalk-Hosts installieren.
4. Service Discovery ausfuehren.
Hinweis: Dieses Repository enthaelt bewusst noch kein Bakery-Python-Plugin. Die manuelle bzw. dateibasierte Verteilung ist die risikoarme erste Version. Eine Bakery-Erweiterung ist eine sinnvolle Version-2-Ausbaustufe.
## Empfohlene Host-Struktur
Host-Tags oder Ordner:
- `env:ACC`
- `env:DEV`
- `env:TST`
- `env:PRD`
- `app:biztalk`
Service-Filter fuer Views:
```text
Service starts with: BizTalk
```
Dashboard-Kacheln:
- Host/Service state fuer BizTalk-Host
- Service state fuer `BizTalk Suspended Instances`
- Graph `biztalk_suspended_total`
- Graph `biztalk_host_instances_stopped`
- Graph `biztalk_eventlog_errors`
- MSSQL-Services des SQL-Servers daneben