22 KiB
Dokumentation: BizTalk Checkmk Pulse
Zielbild
Ziel ist ein wartbares Monitoring fuer BizTalk Server 2020 in den Umgebungen ACC, DEV, TST und PRD. Jede Umgebung besitzt einen BizTalk Server 2020 und einen SQL Server. SQL Server wird mit dem Checkmk-eigenen MSSQL-Plugin ueberwacht; fuer BizTalk liefert dieses Projekt die fehlende fachliche und technische Laufzeitsicht.
Das Monitoring soll:
- auf jeder BizTalk-Maschine lokal laufen
- ohne PowerShell-Abhaengigkeit funktionieren
- keine BizTalk-DLLs im Build erzwingen
- Checkmk-2.4-kompatible Services und Metriken erzeugen
- service-discovery-freundlich und dashboard-tauglich sein
- bei Fehlern gueltige
UNKNOWN-Services statt kaputter Agent-Ausgaben liefern
Technische Bewertung
Option A: Checkmk Local Check mit C#/.NET Framework
Bewertung: empfohlen und umgesetzt.
Vorteile:
- Checkmk 2.4 unterstuetzt Local Checks direkt.
- Windows Server mit BizTalk 2020 bringt .NET Framework in der Regel passend mit.
System.Managementkann BizTalk-WMI lesen.- Keine PowerShell Execution Policy, keine Script-Signing-Frage.
- Kein serverseitiges Checkmk-Python-Plugin notwendig.
- Rollout ist eine einfache Dateiablage unter
%ProgramData%\checkmk\agent\local.
Nachteile:
- Schwellwerte sind in der
.exe.config, nicht als Checkmk-Regelsatz in WATO. - Eigene Graphing-Definitionen sind nicht enthalten; Checkmk zeigt Local-Check-Metriken trotzdem als Performance-Daten und Graphen.
Option B: Agent Plugin plus serverseitiges Checkmk-Plugin
Bewertung: technisch elegant, aber fuer den ersten produktiven Schritt schwerer.
Vorteile:
- Checkmk-Regeln, Discovery und Metrikdefinitionen koennen sauber zentral modelliert werden.
- Bessere langfristige Erweiterbarkeit als MKP.
Nachteile:
- Checkmk-Check-API-Versionen muessen enger gepflegt werden.
- Server-seitige Installation in jeder Site erforderlich.
- Mehr Aufwand fuer Managed-Services-Betrieb und Updates.
Empfehlung: als Version 2 dieses Projekts denkbar, wenn die Local-Check-Variante stabil in PRD laeuft und zentrale Regelsaetze wirklich benoetigt werden.
Option C: PowerShell Local Check
Bewertung: nicht empfohlen fuer diese Umgebung.
Vorteile:
- Schnell zu schreiben.
- WMI/CIM-Zugriff ist komfortabel.
Nachteile:
- PowerShell ist in vielen Serverumgebungen eingeschraenkt oder signaturpflichtig.
- Ausfuehrungsverhalten im Checkmk-Agent-Kontext ist haeufiger fehleranfaellig.
Option D: BizTalk ExplorerOM/OperationsOM
Bewertung: fachlich stark, deployseitig unnoetig schwer.
Vorteile:
- Hoehere BizTalk-Abstraktion als rohe WMI-Klassen.
Nachteile:
- BizTalk-DLL-Versionen muessen beim Build und teilweise zur Laufzeit passen.
- Build-Agenten brauchen BizTalk-Komponenten oder SDK-Dateien.
- Fuer die benoetigten Zustandsdaten reicht WMI aus.
Architektur
Checkmk Windows Agent
|
| startet lokale Checks aus %ProgramData%\checkmk\agent\local
v
biztalk_checkmk_pulse.cmd
|
| startet
v
BizTalkCheckmkPulse.exe
|
| liest lokal und prueft im gleichen Sicherheitskontext
+-- WMI root\MicrosoftBizTalkServer
+-- Windows Application Event Log
+-- SQL-Verbindung zu BizTalkMgmtDb/BizTalkMsgBoxDb
|
v
Checkmk Local Check Zeilen nach STDOUT
Der .cmd-Wrapper liefert auch dann fuer alle sechs stabilen Services gueltige UNKNOWN-Zeilen mit Massnahme, wenn die EXE fehlt oder bereits der Prozessstart mit einem Exitcode fehlschlaegt. Die EXE selbst faengt Laufzeitfehler ab und schreibt ebenfalls fuer alle stabilen Services UNKNOWN, damit unvollstaendige Deployments oder WMI-Probleme in Checkmk sichtbar bleiben.
Datenquellen
BizTalk WMI Namespace
Namespace:
root\MicrosoftBizTalkServer
Genutzte Klassen:
| Klasse | Zweck |
|---|---|
MSBTS_GroupSetting |
BizTalk-Gruppe, Management-DB und Master-MessageBox (SubscriptionDB*). |
MSBTS_HostInstance |
Host-Instance-Zustand; Ergebnis wird clientseitig auf den ueberwachten Server begrenzt. |
MSBTS_ServiceInstance |
Suspended service instances. |
MSBTS_ReceiveLocation |
Receive-Location-Zustand. |
MSBTS_SendPort |
Send-Port-Zustand. |
MSBTS_Orchestration |
Orchestration-Zustand. |
MSBTS_ReceivePort |
Optionales Best-Effort-Application-Mapping, nur wenn per-Application-Services aktiviert sind. |
Die Plattformabfrage verwendet absichtlich keine vermeintliche Klasse MSBTS_MessageBoxSetting: Sie ist nicht Bestandteil des dokumentierten BizTalk-WMI-Schemas. Auch die vorhandene Klasse MSBTS_MsgBoxSetting ist fuer die Zielermittlung nicht erforderlich. MSBTS_GroupSetting liefert mit SubscriptionDBServerName und SubscriptionDBName bereits das Ziel der Master-MessageBox. Dadurch entfallen eine Providerabfrage und eine unnoetige Berechtigungs-/Schemaschnittstelle.
Windows Application Event Log
Der Check liest standardmaessig das lokale Application Log fuer die letzten 60 Minuten und filtert auf Quellen wie:
BizTalk ServerXLANG/sENTSSOBizTalk Server ApplicationBizTalk Server EDI
Die Liste ist ueber EventLogSources konfigurierbar.
SQL-Zugriffsprobe
Nach erfolgreicher oder teilweise erfolgreicher Plattformabfrage uebernimmt der SQL-Probe die per MSBTS_GroupSetting ermittelten Management- und Master-MessageBox-Ziele. Fuer jedes eindeutige Ziel wird mit System.Data.SqlClient eine Verbindung mit integrierter Windows-Authentifizierung geoeffnet und SELECT 1 ausgefuehrt. Die Verbindung wird unmittelbar danach geschlossen; es werden keine BizTalk-Tabellen gelesen oder veraendert.
Der Test laeuft unter derselben Identitaet wie der Checkmk Local Check. Damit wird sichtbar, ob LocalSystem beziehungsweise das Maschinenkonto des BizTalk-Servers das SQL-Ziel tatsaechlich erreichen und die Datenbank oeffnen kann. Die Probe ist mit ProbeSqlConnectivity=false deaktivierbar und verwendet SqlConnectionTimeoutSeconds mit dem Default 5 Sekunden je Ziel als Timeout.
Im produktiven Betrieb sollte der komplette Local Check asynchron mit 300 Sekunden Cache ausgefuehrt werden. So fuehren fehlende SQL-Rechte nicht bei jedem Checkmk-Abruf zu weiteren fehlgeschlagenen Login-Ereignissen. Der Trade-off ist eine Zustandsverzoegerung von maximal fuenf Minuten.
Berechtigungsmodell
LocalSystem und lokaler WMI-Zugriff
Der Checkmk Windows Agent und der Agent Controller laufen standardmaessig als LocalSystem (NT AUTHORITY\SYSTEM). Der Wrapper und die EXE erben diesen Kontext. Das Plugin verbindet sich lokal mit \\<eigener-server>\root\MicrosoftBizTalkServer, setzt keine eigenen Anmeldedaten, nutzt kein Remote-WMI und fuehrt keine veraendernden WMI-Methoden aus. Das lokale Windows Application Event Log wird ebenfalls nur gelesen.
Die lokalen Rechte von LocalSystem reichen fuer diese Zugriffe normalerweise aus. Im regulaeren lokalen Betrieb werden deshalb keine zusaetzlichen DCOM-, Firewall- oder pauschalen WMI-Namespace-Freigaben benoetigt.
Netzwerkidentitaet zum SQL Server
BizTalk-WMI-Klassen koennen ihre Daten aus der BizTalk Management- oder MessageBox-Datenbank beziehen. Liegt SQL Server auf einer anderen Maschine, authentifiziert sich LocalSystem dort mit dem Active-Directory-Computerkonto des BizTalk-Servers:
DOMAIN\BIZTALKSERVER$
Dieses Konto besitzt nicht automatisch BizTalk- oder SQL-Berechtigungen. Daraus kann die Situation entstehen, dass die Verbindung zum lokalen WMI-Namespace erfolgreich ist, einzelne SQL-gestuetzte WMI-Klassen aber Access denied, UnauthorizedAccessException oder UNKNOWN liefern.
Der ACC-Test vom 29.07.2026 bestaetigt genau diesen Pfad: Auf AV23AGPWBIO1 ist WMI erreichbar, aber der Provider meldet COMException 0x80131904 mit Login failed for user 'BEW\AV23AGPWBIO1$'. Die UNKNOWN-Services fuer Plattform, Host Instances, Runtime Artifacts und Suspensions sowie die fehlende SQL-Zielermittlung sind Folgefehler. DCOM-, Firewall- oder WMI-ACL-Erweiterungen beheben diesen konkreten SQL-Loginfehler nicht. Der Event-Log-Check arbeitet bereits und seine Fehler/Warnungen sind separat zu bewerten.
Die Codekorrektur ersetzt die Berechtigungsfreigabe nicht. Sie klassifiziert den Fehler korrekt, zeigt das abgewiesene Konto und fuehrt die SQL-Folgediagnose als Berechtigungsfehler. Sie veraendert weder AD noch SQL Server. Daher bleibt die neue Version ohne Gruppenfreigabe UNKNOWN; umgekehrt kann auch die alte Version nach korrekter Freigabe grundsaetzlich auf die Daten zugreifen.
Pruefung und Freigabe
Der direkte Programmstart in einer administrativen Shell laeuft unter dem angemeldeten Benutzer und ist deshalb kein ausreichender Berechtigungstest. Verbindlich ist die Ausfuehrung durch den Checkmk Agent Controller als LocalSystem:
& "C:\Program Files (x86)\checkmk\service\cmk-agent-ctl.exe" dump |
Select-String -Pattern "BizTalk|Access denied|Unauthorized|UNKNOWN" -Context 0,1
Bei Zugriffsfehlern gilt folgendes Least-Privilege-Vorgehen:
- Die exakt konfigurierte Operator-Gruppe in der BizTalk Administration Console unter
BizTalk Group>Properties>Generalfeststellen. - Das Computerobjekt des BizTalk-Servers durch einen AD-Administrator in genau diese Gruppe aufnehmen. Fuer ACC ist dies
AV23AGPWBIO1beziehungsweiseBEW\AV23AGPWBIO1$. - Keine direkten SQL-Logins, BizTalk-Datenbankrollen oder
sysadmin-Rechte fuer das Maschinenkonto anlegen. - AD-Replikation abwarten und den Server im Wartungsfenster neu starten; alternativ Maschinen-Tickets mit
klist purge -li 0x3e7und den Checkmk-Dienst erneuern. - Den Agent-Dump wiederholen und
operator_group, zwei SQL-Ziele sowie das Verschwinden der Berechtigungs-UNKNOWNs kontrollieren. - Nur fuer weiterhin abgelehnte, konkret identifizierte WMI-Klassen mit BizTalk- und SQL-Administration pruefen, ob Administratorrechte erforderlich sind.
Die Operator-Rolle ist fuer grundlegendes Monitoring und Zustandsabfragen vorgesehen. Direkte manuelle Aenderungen an den Rollen der BizTalk-SQL-Datenbanken sind zu vermeiden; die durch BizTalk konfigurierte Windows-Gruppe ist die vorgesehene Berechtigungsgrenze.
Im Normalfall ist diese Windows-Gruppe bereits als SQL-Gruppenlogin und als Datenbankbenutzer eingerichtet. Ihre Benutzerzuordnung vermittelt BTS_OPERATORS unter anderem in BizTalkMgmtDb und BizTalkMsgBoxDb. BEW\AV23AGPWBIO1$ erhaelt den Zugriff durch die AD-Gruppenmitgliedschaft und braucht keinen eigenen SQL-Login.
Bleibt der Fehler trotz bestaetigter Gruppenmitgliedschaft, AD-Replikation und erneuertem Maschinen-Token bestehen, pruefen BizTalk- und SQL-Administration:
- Ist die exakt konfigurierte Domain-Gruppe in
sys.server_principalsals Windows-Gruppe vorhanden? - Existiert ihr Datenbankbenutzer in
BizTalkMgmtDbundBizTalkMsgBoxDb? - Ist dieser Benutzer in beiden Datenbanken Mitglied von
BTS_OPERATORS? - Entspricht diese Abbildung weiterhin der BizTalk-Konfiguration?
Fehlende Zuordnungen werden fuer die konfigurierte Gruppe konsistent repariert. Ein individueller Login, manuelle Sonderrollen oder sysadmin fuer das Maschinenkonto waeren keine geeignete Abkuerzung.
| Agent-Dump-Ergebnis | Massnahme |
|---|---|
| Plausible Werte fuer alle BizTalk-Services | Keine Berechtigungsaenderung. |
| WMI-Namespace nicht erreichbar | BizTalk-WMI-Provider, WMI-Dienst, Namespace und ACL gezielt pruefen. |
| Nur SQL-gestuetzte Klassen scheitern | Computerkonto in die BizTalk-Operator-Gruppe aufnehmen. |
Nur Event-Log-Service ist UNKNOWN |
Lokalen Application-Log-Zugriff pruefen. |
| Fehler bleibt mit Operator-Rolle bestehen | Betroffene Klasse und konkrete BizTalk-/SQL-Rollenanforderung untersuchen. |
Automatische Diagnose im Programm
WMI-Verbindungsaufbau und jede erforderliche WMI-Klasse werden separat bewertet. Erwartbare Exceptions werden in folgende Kategorien eingeordnet:
| Diagnose | Bedeutung | Ausgegebene Massnahme |
|---|---|---|
Wmi/Permission |
Namespace, BizTalk-WMI-Klasse oder deren eingebetteter SQL-Zugriff verweigert den Zugriff. | Namespace-ACL nur bei Verbindungsfehlern; bei Login failed for user das genannte Maschinenkonto der BizTalk-Operator-Gruppe zuordnen. |
Wmi/Connectivity |
WMI-/RPC-Ziel nicht erreichbar. | WMI-Dienst, Provider und bei Remote-WMI zusaetzlich DNS/RPC/Firewall pruefen. |
Wmi/Timeout |
WMI-Abfrage ueberschreitet QueryTimeoutSeconds. |
WMI-, BizTalk- und SQL-Auslastung untersuchen, bevor der Timeout erhoeht wird. |
Wmi/Configuration |
BizTalk-WMI-Namespace fehlt oder Plattformdaten sind unvollstaendig. | Provider, Namespace und BizTalk-Konfiguration pruefen. |
Wmi/Schema |
InvalidClass oder InvalidQuery; Klasse beziehungsweise WQL passt nicht zum installierten Provider. |
Klasse/Properties gegen das BizTalk-WMI-Schema pruefen; keine Rechteerhoehung vornehmen. |
Sql/Permission |
Login oder Datenbankzugriff wird abgelehnt. | Maschinenkonto der BizTalk-Operator-Gruppe zuordnen, Kerberos erneuern, keine direkten DB-Rollen vergeben. |
Sql/Connectivity |
SQL-Server oder Instanz nicht erreichbar. | Servername, DNS, SQL-Dienst, TCP-Protokoll, Port und Firewall pruefen. |
Sql/Timeout |
SQL-Verbindung oder Testabfrage laeuft in den Timeout. | Netzwerk und SQL-Auslastung pruefen; Timeout nur begruendet anheben. |
Sql/Configuration |
WMI-Ziele unvollstaendig oder TLS-, Zertifikats-, SPN-/SSPI-Konfiguration fehlerhaft. | Plattformabfragen beziehungsweise Zertifikatskette, Verschluesselung, SPN und Kerberos gezielt pruefen. |
Jede Diagnose enthaelt Bereich/Kategorie, betroffene Komponente, eine kurze Ursache, Massnahme: und Technik: mit Exception-Typ, HRESULT oder SQL-Fehlernummer. Bei WMI-Abfragefehlern werden zusaetzlich WQL und Laufzeit bis zum Fehler ausgegeben. Erforderliche Datenquellen besitzen eigene Verfuegbarkeitsflags. Schlaegt beispielsweise MSBTS_ServiceInstance fehl, wird BizTalk Suspended Instances zwingend UNKNOWN; eine leere Ergebnisliste darf nicht als 'keine Suspensions' fehlinterpretiert werden.
Die Operator-Mitgliedschaft des Computerkontos steht allen auf diesem Server als LocalSystem laufenden Diensten fuer Netzwerkzugriffe zur Verfuegung. Falls diese Sicherheitsauswirkung nicht akzeptabel ist, kann ein separater Collector unter einem dedizierten gMSA- oder Dienstkonto mit Operator-Rechten Checkmk-Spooldaten erzeugen. Diese Variante ist noch nicht Bestandteil der aktuellen Implementierung. Der komplette Checkmk-Agent sollte nicht allein fuer dieses Plugin auf eine andere Identitaet umgestellt werden, weil dies alle Agent-Sektionen und Local Checks betrifft.
Quellen:
- https://docs.checkmk.com/latest/en/agent_windows.html
- https://docs.checkmk.com/latest/en/localchecks.html
- https://learn.microsoft.com/en-us/biztalk/core/minimum-security-user-rights
- https://learn.microsoft.com/en-us/biztalk/core/access-control-and-data-security
- https://learn.microsoft.com/en-us/biztalk/core/windows-groups-and-user-accounts-in-biztalk-server
- https://learn.microsoft.com/en-us/biztalk/core/access-control-for-administrative-roles
- https://learn.microsoft.com/en-us/biztalk/core/how-to-modify-group-properties
- https://learn.microsoft.com/en-us/entra/architecture/service-accounts-computer
- https://learn.microsoft.com/en-us/powershell/module/activedirectory/add-adgroupmember
- https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/klist
- https://learn.microsoft.com/en-us/windows/win32/wmisdk/access-to-wmi-namespaces
Resilienz
Das Plugin ist bewusst defensiv gebaut:
- Der dependency-freie Regressionstest laeuft mit dem gleichen .NET-Framework-/MSBuild-Baseline wie die Anwendung.
- WMI-Queries haben ein konfigurierbares Timeout.
- WMI-Namespace und Pflichtklassen werden getrennt auf Berechtigung, Konfiguration, Erreichbarkeit und Timeout geprueft.
- Management- und Master-MessageBox-Datenbank werden aus einer dokumentierten WMI-Klasse ermittelt und mit der echten Agent-Identitaet getestet.
InvalidClass/InvalidQuerywerden als Schemafehler statt als Berechtigungsproblem ausgewiesen.- Host Instances werden ohne namensabhaengigen WQL-Filter clientseitig auf den ueberwachten Server begrenzt.
- Bereits fuer Runtime-Zustaende gelesene Artefakte werden fuer das Best-Effort-Application-Mapping wiederverwendet; doppelte WMI-Abfragen entfallen.
- SQL-Fehlernummern werden in Berechtigung, Erreichbarkeit, Timeout oder Providerfehler klassifiziert.
- Fehlgeschlagene Pflichtabfragen erzeugen
UNKNOWNstatt irrefuehrender Nullwerte. - Optionale WMI-Klassen erzeugen Diagnosehinweise statt Totalabbruch.
- Fehlende Properties werden als leer/unknown behandelt.
- Local-Check-Ausgaben verwenden gueltige Checkmk-Zeilen mit genau vier Feldern.
- Fatal Errors erzeugen
UNKNOWNfuer alle stabilen Services. - Event-Log-Auswertung ist isoliert; ein Fehler dort bricht WMI-Monitoring nicht ab.
- Service-Namen sind stabil, damit Service Discovery nicht bei jedem Lauf neue Services erzeugt.
Statusmodell
BizTalk Platform
OK: BizTalk-WMI erreichbar.UNKNOWN: WMI nicht erreichbar oder kompletter Programmfehler.
Dieser Service ist der Integrationsindikator. Wenn er UNKNOWN ist, sind Berechtigungen, BizTalk-Installation oder WMI-Repository zu pruefen.
BizTalk SQL Access
OK: Datenbankziele vollstaendig ermittelt und integrierte Anmeldung an allen Zielen erfolgreich.UNKNOWN: Zielermittlung unvollstaendig, Anmeldung verweigert, SQL nicht erreichbar, Timeout oder Providerfehler.- Bei
ProbeSqlConnectivity=false:OKmit sichtbarem Hinweis, dass die Probe deaktiviert ist.
Metriken: biztalk_sql_targets_total, biztalk_sql_targets_available und biztalk_sql_targets_failed. Die Ausgabe nennt ausserdem execution_identity, network_identity und den Zustand jedes getesteten Datenbankziels.
BizTalk Suspended Instances
OK: keine suspendierten Instanzen.WARN: mindestensWarnResumableThresholdresumable suspended instances.CRIT: mindestensCritNonResumableThresholdnon-resumable suspended instances.UNKNOWN: Datenquelle nicht lesbar.
BizTalk Host Instances
OK: alle Host-Instanzen sind started.WARN: mindestens eine Host-Instanz ist pending.CRIT: mindestens eine Host-Instanz ist stopped oder unknown.UNKNOWN: keine Host-Instanzen gefunden oder Datenquelle nicht lesbar.
BizTalk Runtime Artifacts
OK: Artefakte lesbar, keine unbekannten Statuswerte.WARN: nur wennAlertOnArtifactRuntimeIssues=trueund deaktivierte/inaktive Artefakte vorhanden sind.CRIT: unbekannte Send-Port- oder Orchestration-Statuswerte.UNKNOWN: mindestens eine erforderliche WMI-Artefaktklasse nicht lesbar.
Deaktivierte Receive Locations und gestoppte Ports koennen in BizTalk fachlich korrekt sein. Deshalb ist die Alarmierung hier standardmaessig informativ.
BizTalk Event Log
OK: keine relevanten Fehler/Warnungen ueber Schwellwert.WARN: Fehler oder Warnungen abEventLogWarnThreshold.CRIT: Fehler abEventLogCritThreshold.UNKNOWN: Event Log nicht lesbar.
Dashboard-Empfehlung
Pro Umgebung sollte der BizTalk-Host in einem eigenen Host-Ordner oder Host-Tag fuer ACC, DEV, TST, PRD liegen. Im Dashboard eignen sich:
- Service State Widgets fuer die sechs stabilen BizTalk-Services
- Graphen fuer
biztalk_sql_targets_failed,biztalk_suspended_total,biztalk_host_instances_stopped,biztalk_eventlog_errors - Hostgruppe/Ordner pro Umgebung
- Optional eine View gefiltert auf
Service starts with BizTalk
Empfohlene Reihenfolge im Dashboard:
BizTalk PlatformBizTalk SQL AccessBizTalk Suspended InstancesBizTalk Host InstancesBizTalk Event LogBizTalk Runtime Artifacts- SQL-Server-Services aus dem Checkmk-MSSQL-Plugin
Rollout-Vorgehen
- Build-Paket erzeugen.
- In
DEVauf dem BizTalk-Server installieren. --self-testund normalen Lauf ausfuehren.- Agent-Dump pruefen.
- Checkmk Discovery durchfuehren.
- Eine Woche Messwerte und false positives beobachten.
- Nach
TSTundACCuebernehmen. - In
PRDmitAlertOnArtifactRuntimeIssues=falsestarten. - Nach Betriebsfreigabe Schwellwerte feinjustieren.
Troubleshooting
Service bleibt UNKNOWN
Pruefen:
"%ProgramData%\checkmk\agent\local\biztalk_checkmk_pulse.cmd"
Wenn WMI nicht erreichbar ist:
wmic /namespace:\\root\MicrosoftBizTalkServer path MSBTS_HostInstance get HostName,RunningServer,ServiceState
Der Checkmk Windows Agent laeuft normalerweise als LocalSystem. Daher immer auch den Agent-Dump verwenden:
"C:\Program Files (x86)\checkmk\service\cmk-agent-ctl.exe" dump
Die Diagnose im Service-Text nach Massnahme: abarbeiten. Wichtige Kategorien:
Wmi/Permission: lokale Namespace-ACL oder BizTalk-Operator-Zuordnung pruefen.Wmi/Schema: Klasse/WQL gegen das installierte BizTalk-Schema pruefen;InvalidClassist nicht durch zusaetzliche Rechte loesbar.Sql/Permission: MaschinenkontoDOMAIN\BIZTALKSERVER$und BizTalk-Operator-Gruppe pruefen.Sql/Connectivity: SQL-Server-/Instanzname, DNS, SQL-Dienst, TCP und Firewall pruefen.Sql/Timeout: SQL- und Netzwerkauslastung pruefen; Timeout nicht als erste Massnahme erhoehen.
Der direkte Aufruf des Wrappers kann wegen des angemeldeten Administratorkontos ein anderes Ergebnis liefern als der Agent-Dump. Fuer die Freigabe ist immer der Agent-Dump massgeblich.
Keine Services in Discovery
Pruefen:
- Liegt
biztalk_checkmk_pulse.cmddirekt unter%ProgramData%\checkmk\agent\local? - Gibt der Wrapper direkt eine Zeile im Format
0 "Service" metric=value Detailsaus? - Wurde der Checkmk-Agent nach Policy-/Bakery-Aenderungen neu ausgerollt?
Runtime Artifacts zeigt deaktivierte Artefakte
Das ist standardmaessig OK, damit gewollt deaktivierte BizTalk-Artefakte nicht alarmieren. Fuer strengere PRD-Standards:
<add key="AlertOnArtifactRuntimeIssues" value="true" />
Weiterentwicklung
Sinnvolle naechste Ausbaustufen:
- MKP mit Agent-Bakery-Regel fuer zentrale Konfiguration.
- Optionales serverseitiges Check-Plugin nach Checkmk Check API V2.
- Custom Dashboard/View als Checkmk GUI Extension.
- Ergaenzung um MessageBox-Spool/Tracking-Daten, falls operativ benoetigt.