Added new functionality: checking HIP hosts for TCP connectivity and whether they can be reached via RDP.

This commit is contained in:
2026-05-20 09:32:27 +02:00
parent b8b702bda3
commit 105f5ac7d5
16 changed files with 707 additions and 17 deletions
+40 -2
View File
@@ -12,6 +12,7 @@ Der Monitor prüft technische Erreichbarkeit und schreibt:
- Windows Application Event Log
- E-Mail-Benachrichtigungen bei Ausfall, Recovery und täglichem Status
- Statusdatei für Zustandswechsel, Cooldown-Logik und die tägliche Summary-Mail
- optional statische HIP-VM-Prüfungen aus `hip-vms.json` für Netzwerk/Ping und RDP/TCP 3389
### 2. BizTalkMonitorConfigGenerator
@@ -60,7 +61,8 @@ Ziel ist, dass die Ziel-Liste nicht manuell gepflegt werden muss, sondern direkt
├── App.config
├── HostAvailabilityMonitor.csproj
├── Program.cs
── appsettings.json
── appsettings.json
└── hip-vms.json
```
Diese Struktur ist für ein normales Gitea-Repository ausgelegt. Build und Deployment können aus der Solution oder projektweise erfolgen.
@@ -95,6 +97,7 @@ Der Generator versucht, BizTalk-Adressen in Monitor-kompatible Endpunkte zu übe
- `sftp://...`
- `tcp://...`
- `icmp://...`
- `rdp://...`
- Plain Host / Host:Port (best effort)
### Spezielle Behandlung
@@ -139,6 +142,7 @@ Datei: `src\HostAvailabilityMonitor\appsettings.json`
- `Logging`: Dateilog-Konfiguration
- `EventLog`: Windows Event Log Konfiguration
- `Email`: SMTP- und Benachrichtigungskonfiguration
- `HipVirtualMachines`: optionale statische VM-Prüfungen
- `Targets`: die zu prüfenden Endpunkte
### Email
@@ -233,6 +237,7 @@ Die Tagesstatus-Mail enthält:
- Status
- Detail
- Host/Port/HTTP-Status, soweit vorhanden
- HIP-VM-Snapshot mit Netzwerk- und RDP-Status pro VM, wenn `HipVirtualMachines.Enabled=true`
Hinweis:
@@ -240,6 +245,39 @@ Die Tageszähler werden aus dem **heutigen Rolling-Log** ausgewertet. Sollte die
---
## HIP-VM-Monitoring
Die HIP-VMs werden bewusst in einer eigenen Datei gepflegt:
```text
src\HostAvailabilityMonitor\hip-vms.json
```
Damit bleiben sie unabhängig von den durch den BizTalk-Generator neu erzeugten `Targets`. Änderungen an BizTalk-Sendports oder Receive Locations überschreiben diese statische VM-Liste nicht.
Aktiviert wird die Erweiterung in `appsettings.json`:
```json
"HipVirtualMachines": {
"Enabled": true,
"ConfigPath": "hip-vms.json",
"ApplicationName": "HIP Virtual Machines",
"TimeoutSeconds": 5,
"RdpPort": 3389,
"CheckNetwork": true,
"CheckRdp": true
}
```
Die Datei `hip-vms.json` enthält pro VM Gruppe, Namen, Adresse, Beschreibung und Aktivstatus. Beim Start erzeugt der Monitor daraus normale Targets:
- `Network`: `icmp://<adresse>` für Ping/Netzwerk-Konnektivität
- `RDP`: `rdp://<adresse>:3389` für TCP-Konnektivität zum RDP-Dienst
Diese Targets nutzen dieselbe State-Datei wie alle anderen Checks. Dadurch werden verlorene Netzwerk- oder RDP-Erreichbarkeit und spätere Recoveries automatisch in den normalen Failure-/Recovery-Mails gemeldet. Im Dateilog und Event Log werden zusätzlich Quelle, Gruppe, Maschine und Check-Typ geschrieben.
---
## Generator-Konfiguration im Detail
Datei: `generator-settings.json`
@@ -297,7 +335,7 @@ Hier werden gepflegt:
Wichtig:
Wenn der Generator die Monitor-JSON erzeugt, werden auch die Felder für die Tagesstatus-Mail mit erzeugt. Das heißt: `GeneratedMonitorConfig.Email.SendDailySummary`, `DailySummaryHourLocal` und `DailySummaryMinuteLocal` werden direkt in die Zielkonfiguration übernommen.
Wenn der Generator die Monitor-JSON erzeugt, werden auch die Felder für die Tagesstatus-Mail und die statische HIP-VM-Prüfung mit erzeugt. Das heißt: `GeneratedMonitorConfig.Email.SendDailySummary`, `DailySummaryHourLocal`, `DailySummaryMinuteLocal` und `GeneratedMonitorConfig.HipVirtualMachines` werden direkt in die Zielkonfiguration übernommen.
---