1. Übersicht & Architektur

1.1 Zielsetzung

Das IT Management Monitor & Dashboard Add-on ist eine eigenständige Applikation, die auf demselben RKE2-Kubernetes-Cluster (VMware vSphere) wie das Hauptportal betrieben wird. Es erweitert den bestehenden Prometheus + Grafana Stack um eine umfassende IT-Infrastruktur-Überwachung mit proaktivem Alerting, Kapazitätsplanung und CMDB-Light-Funktionalität.

1.2 Design-Prinzipien

PrinzipUmsetzung
Eigenständige ApplikationSeparates Deployment im Namespace hafs-monitor, eigener Lifecycle
Portal-Integration via RESTAnbindung an das Hauptportal über definierte REST APIs
Prometheus + Grafana BasisErweiterung des bestehenden Monitoring-Stacks (VLAN 60)
Event-Driven AlertingAlerts via RabbitMQ Event Bus an Portal-Ticketsystem
CMDB-LightSchlanke Configuration Management Database ohne ITIL-Overhead
AI-gestützte Anomalie-ErkennungMetriken-Analyse über Claude API für proaktive Warnungen

1.3 Architektur-Übersicht

IT Management Monitor & Dashboard – Gesamtarchitektur
┌──────────────────────────────────────────────────────────────────┐
│              IT MANAGEMENT MONITOR & DASHBOARD ADD-ON            │
│              (Namespace: hafs-monitor)                           │
│                                                                  │
│  ┌─── Frontend ────────────────────────────────────────────┐     │
│  │                                                          │     │
│  │  React Dashboard App (eigenständig)                     │     │
│  │  • Infrastruktur-Dashboard    • Service Health Map       │     │
│  │  • Capacity Planning          • Executive Dashboard      │     │
│  │  • CMDB-Light UI              • SLA Monitoring           │     │
│  │  • Alerting-Konfiguration     • Runbook UI               │     │
│  └────────────────────────┬─────────────────────────────────┘     │
│                           │ REST API                              │
│  ┌────────────────────────▼─────────────────────────────────┐     │
│  │  Backend: Node.js / TypeScript (Data Aggregation Layer)  │     │
│  │                                                          │     │
│  │  ┌────────────┐ ┌──────────┐ ┌─────────────────────────┐│     │
│  │  │ Infra      │ │ Alert    │ │ CMDB-Light              ││     │
│  │  │ Collector  │ │ Engine   │ │ Service                 ││     │
│  │  └────────────┘ └──────────┘ └─────────────────────────┘│     │
│  │  ┌────────────┐ ┌──────────┐ ┌─────────────────────────┐│     │
│  │  │ Capacity   │ │ SLA      │ │ Runbook                 ││     │
│  │  │ Planner    │ │ Tracker  │ │ Executor                ││     │
│  │  └────────────┘ └──────────┘ └─────────────────────────┘│     │
│  └──────────────────────────────────────────────────────────┘     │
│                           │                                       │
│        ┌──────────────────┼──────────────────┐                    │
│        │                  │                  │                    │
│  ┌─────▼──────┐  ┌───────▼───────┐  ┌──────▼───────────────┐    │
│  │ PostgreSQL │  │  Prometheus   │  │ Grafana              │    │
│  │ (CMDB-     │  │  (Metriken)  │  │ (Dashboards)         │    │
│  │  Light DB) │  │              │  │                      │    │
│  └────────────┘  └──────────────┘  └────────────────────────┘    │
│                                                                  │
│  ┌─── Externe Datenquellen ────────────────────────────────┐     │
│  │                                                          │     │
│  │  VMware vSphere API │ Kubernetes API │ SNMP (Netzwerk)  │     │
│  │  SAN/Storage API    │ MinIO API      │ Active Directory  │     │
│  └──────────────────────────────────────────────────────────┘     │
└──────────────────────────────────────────────────────────────────┘
                          │
                          │ REST API + RabbitMQ Events
                          ▼
┌──────────────────────────────────────────────────────────────────┐
│              HAFS SELF-HELP SERVICE PORTAL                       │
│                                                                  │
│  Tickets (M1) │ AI Services (M2) │ Automation (M7)              │
│  Asset Mgmt (M9) │ Analytics (M8) │ Notification Service        │
└──────────────────────────────────────────────────────────────────┘

1.4 Tech Stack

KomponenteTechnologieBegründung
BackendNode.js 22 / TypeScriptAsync I/O ideal für Metriken-Aggregation, Prometheus Client Libraries
FrontendReact 19 + Tailwind CSS + Shadcn/UIKonsistenz mit Portal-Frontend, Rich-Dashboards
Datenbank (CMDB)PostgreSQL 16 (Patroni HA)Relationale CMDB-Daten, bestehende Infrastruktur
MetrikenPrometheus + AlertmanagerBereits im Cluster deployed (VLAN 60, 10.60.1.x)
DashboardsGrafanaBereits im Cluster deployed (VLAN 60, 10.60.2.x)
Time-Series (Langzeit)Prometheus + Thanos (optional)Langzeitdaten für Capacity Planning
Message BusRabbitMQAlert-Events an Portal-Ticketsystem
Runbook ExecutionAnsible + TerraformBestehende IaC-Toolchain
AI/AnomalieAnthropic Claude API (Sonnet 4.5)Anomalie-Erkennung, Kapazitätsprognosen

1.5 Kubernetes Deployment

Namespace hafs-monitor – Deployment-Struktur
Namespace: hafs-monitor
├── monitor-backend         # Node.js Backend (3 Replicas)
├── monitor-frontend        # React Dashboard (2 Replicas)
├── monitor-collector       # Infrastruktur-Datensammler (CronJob + Daemon)
├── monitor-alert-engine    # Alert-Verarbeitung (2 Replicas)
├── monitor-runbook-worker  # Runbook-Ausführung (1-3 Replicas, KEDA)
├── monitor-cmdb-db         # PostgreSQL (eigene Instanz oder Schema)
└── monitor-config          # ConfigMaps + Secrets

2. Infrastruktur-Dashboard

2.1 VMware vSphere Monitoring

Integration über die vSphere REST API (vCenter Server) sowie den Prometheus VMware Exporter.

vSphere Monitoring – Datenquellen & überwachte Objekte
┌──────────────────────────────────────────────────────────────────┐
│              VSPHERE MONITORING                                  │
│                                                                  │
│  ┌─── Datenquellen ───────────────────────────────────────┐     │
│  │                                                          │     │
│  │  vCenter Server (10.10.1.x)                              │     │
│  │  ├── vSphere REST API (HTTPS)                            │     │
│  │  ├── vSphere Performance Manager (Metriken)              │     │
│  │  └── vSphere Events & Alarms                             │     │
│  │                                                          │     │
│  │  Prometheus VMware Exporter                               │     │
│  │  └── Scrape-Intervall: 60s                                │     │
│  └──────────────────────────────────────────────────────────┘     │
│                                                                  │
│  ┌─── Überwachte Objekte ────────────────────────────────┐     │
│  │                                                          │     │
│  │  ESXi Hosts          VMs                Datastores       │     │
│  │  ───────────         ──                 ──────────       │     │
│  │  • CPU (MHz, %)      • CPU Ready Time   • Kapazität     │     │
│  │  • Memory (Usage,    • Memory Balloon   • Freier Platz   │     │
│  │    Swap)             • Disk I/O          • IOPS           │     │
│  │  • Network (TX/RX)   • Network I/O      • Latenz          │     │
│  │  • Hardware Health   • Snapshot-Größe  • Provisioning   │     │
│  │  • Temperature       • Uptime            • Thin/Thick     │     │
│  │  • Power State       • Guest OS Status                    │     │
│  └──────────────────────────────────────────────────────────┘     │
└──────────────────────────────────────────────────────────────────┘
MetrikQuellePrometheus MetrikAlert-Schwelle
ESXi CPU-AuslastungvSphere APIvsphere_host_cpu_usage_percentWarning: >80%, Critical: >95%
ESXi MemoryvSphere APIvsphere_host_memory_usage_percentWarning: >85%, Critical: >95%
VM CPU ReadyvSphere APIvsphere_vm_cpu_ready_msWarning: >5%, Critical: >10%
Datastore KapazitätvSphere APIvsphere_datastore_free_bytesWarning: <20%, Critical: <10%
VM Snapshot AltervSphere APIvsphere_vm_snapshot_age_hoursWarning: >24h, Critical: >72h
Hardware HealthvSphere APIvsphere_host_hardware_statusCritical: Degraded/Failed

2.2 Kubernetes Monitoring

Erweiterung des bestehenden Prometheus-Stacks mit spezifischen Dashboards für IT-Management.

Metrik-BereichPrometheus QuelleÜberwachte Werte
Cluster Healthkube-state-metricsNode Status, Pod Restarts, Failed Deployments
Nodesnode-exporterCPU, Memory, Disk, Network pro Node
PodscAdvisor + kube-state-metricsContainer CPU/Mem, Restarts, OOMKills
Deploymentskube-state-metricsDesired vs. Available Replicas, Rollout Status
Persistent Volumeskube-state-metricsPV/PVC Status, Kapazität, Bound State
IngressNGINX Ingress MetricsRequest Rate, Error Rate, Latenz
Resource Quotaskube-state-metricsNamespace Limits vs. Nutzung

2.3 Netzwerk-Monitoring

Netzwerk Monitoring – SNMP Polling & Metriken
┌──────────────────────────────────────────────────────────────────┐
│              NETZWERK MONITORING                                 │
│                                                                  │
│  ┌─── SNMP Polling ───────────────────────────────────────┐     │
│  │                                                          │     │
│  │  Prometheus SNMP Exporter                                 │     │
│  │  ├── Core Switches (VLAN-Trunks, Uplinks)                │     │
│  │  ├── Access Switches (Port-Status, PoE)                   │     │
│  │  ├── Router / Firewall (Interface-Metriken)               │     │
│  │  └── Scrape-Intervall: 30s                                │     │
│  └──────────────────────────────────────────────────────────┘     │
│                                                                  │
│  ┌─── Metriken ───────────────────────────────────────────┐     │
│  │                                                          │     │
│  │  Bandbreite (In/Out)     │ Packet Loss                   │     │
│  │  Interface Status        │ CRC Errors                     │     │
│  │  Latenz (ICMP/SLA)      │ VLAN Health                    │     │
│  │  BGP/OSPF Neighbor      │ ARP Table Size                 │     │
│  │  CPU/Memory (Switch)    │ Port Flapping                  │     │
│  └──────────────────────────────────────────────────────────┘     │
└──────────────────────────────────────────────────────────────────┘
Netzwerk-AlertBedingungSeverity
Interface DownifOperStatus != upCritical
High BandwidthAuslastung > 80% über 5 minWarning
Packet LossLoss > 1% über 5 minWarning
Packet LossLoss > 5% über 2 minCritical
Port Flapping> 3 State Changes in 5 minWarning
Switch CPU> 85% über 10 minWarning
BGP Neighbor DownBGP State != EstablishedCritical

2.4 Storage Monitoring

Storage-SystemMonitoring-MethodeMetriken
SAN (FC/iSCSI)Hersteller-API / SNMPLUN-Kapazität, IOPS, Latenz, Throughput, Cache Hit Rate
MinIO (10.30.3.x)MinIO Prometheus EndpointBucket-Größe, Object Count, Request Rate, Healing Status
VMware DatastoresvSphere APIKapazität, Provisioned Space, I/O Latenz
Persistent VolumesKubernetes APIPV-Kapazität, Nutzung, Status
Backup (Veeam)Veeam API / SNMPBackup-Status, RPO-Einhaltung, Repository-Kapazität
portal.hafs.de/monitoring/infrastructure
Infrastruktur-Dashboard
Alle Systeme verbunden Letzte 24h ▾ ↻ Aktualisieren
247
Überwachte Systeme
239
Healthy
+2 seit gestern
5
Degraded
+1 seit gestern
3
Down
+1 seit gestern

Systemgruppen – Health-Status

Windows Server
98 %
Gesund 64 / 65
1 Server degraded: SRV-WIN-FIN-03 (hohe CPU)
Linux Server
96 %
Gesund 82 / 85
2 degraded, 1 down (SRV-LX-BATCH-07)
Netzwerk-Geräte
92 %
Gesund 46 / 50
2 Switches degraded, 2 Firewalls hohe Latenz
Storage
99 %
Gesund 29 / 29
Alle Datastores im grünen Bereich
Kubernetes
94 %
Gesund 17 / 18
1 Pod CrashLoopBackOff: monitor-collector-7b
Infrastruktur-Dashboard – Echtzeit-Übersicht aller überwachten Systeme mit Health-Status pro Kategorie

3. Service Health Map

3.1 Konzept

Die Service Health Map visualisiert sämtliche IT-Services und deren Abhängigkeiten als interaktive Karte mit Echtzeit-Gesundheitsstatus.

Service Health Map – Abhängigkeitsvisualisierung
┌──────────────────────────────────────────────────────────────────┐
│              SERVICE HEALTH MAP                                  │
│                                                                  │
│                    ┌──────────────┐                               │
│                    │ Self-Help    │                               │
│                    │ Portal       │                               │
│                    │   [GRÜN]    │                               │
│                    └──────┬───────┘                               │
│              ┌────────────┼────────────┐                         │
│              │            │            │                         │
│        ┌─────▼────┐ ┌────▼─────┐ ┌────▼─────┐                  │
│        │ Ticket   │ │ AI       │ │ Identity │                  │
│        │ Service  │ │ Gateway  │ │ Service  │                  │
│        │ [GRÜN]  │ │ [GRÜN]  │ │ [GELB]   │                  │
│        └─────┬────┘ └────┬─────┘ └────┬─────┘                  │
│              │           │            │                         │
│        ┌─────▼────┐ ┌────▼─────┐ ┌────▼─────┐                  │
│        │PostgreSQL│ │Anthropic │ │ Active   │                  │
│        │ Patroni  │ │ Claude   │ │ Directory│                  │
│        │ [GRÜN]  │ │ API      │ │ [GELB]   │                  │
│        └─────┬────┘ │ [GRÜN]  │ └──────────┘                  │
│              │      └──────────┘                                │
│        ┌─────▼────┐                                             │
│        │ SAN      │                                             │
│        │ Storage  │                                             │
│        │ [GRÜN]  │                                             │
│        └──────────┘                                             │
│                                                                  │
│  Legende:  [GRÜN] = Healthy   [GELB] = Degraded               │
│            [ROT]  = Down      [GRAU] = Unknown                  │
└──────────────────────────────────────────────────────────────────┘

3.2 Health Status Berechnung

StatusFarbeBedingungBeispiel
HealthyGrünAlle Checks OK, Latenz normalService antwortet < p95 SLA
DegradedGelbTeilweise Einschränkung, erhöhte Latenz1 von 3 Replicas down
DownRotService nicht erreichbar oder kritischer FehlerAlle Pods in CrashLoopBackOff
UnknownGrauKeine Metriken verfügbarExporter nicht erreichbar
MaintenanceBlauGeplante Wartung aktivMaintenance Window aktiv

3.3 Auto-Discovery

Auto-Discovery Engine – Quellen und CMDB-Anbindung
┌──────────────────────────────────────────────────────────────────┐
│              AUTO-DISCOVERY ENGINE                                │
│                                                                  │
│  Quellen:                                                        │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────────────┐   │
│  │ Kubernetes   │  │ VMware       │  │ SNMP                 │   │
│  │ API          │  │ vSphere API  │  │ Walk                 │   │
│  │              │  │              │  │                      │   │
│  │ • Services   │  │ • VMs        │  │ • Switches           │   │
│  │ • Deployments│  │ • Hosts      │  │ • Router             │   │
│  │ • Ingress    │  │ • Datastores │  │ • Drucker            │   │
│  │ • ConfigMaps │  │ • Netzwerke  │  │ • USV                │   │
│  │   (Labels)   │  │              │  │                      │   │
│  └──────┬───────┘  └──────┬───────┘  └──────────┬───────────┘   │
│         │                  │                      │               │
│         └──────────────────┼──────────────────────┘               │
│                            ▼                                     │
│                  ┌──────────────────┐                             │
│                  │ Discovery Engine │                             │
│                  │                  │                             │
│                  │ • Neue CIs       │                             │
│                  │   registrieren   │                             │
│                  │ • Dependencies   │                             │
│                  │   erkennen       │                             │
│                  │ • Status         │                             │
│                  │   aktualisieren  │                             │
│                  └────────┬─────────┘                             │
│                           ▼                                      │
│                  ┌──────────────────┐                             │
│                  │ CMDB-Light       │                             │
│                  │ (PostgreSQL)     │                             │
│                  └──────────────────┘                             │
└──────────────────────────────────────────────────────────────────┘

Discovery wird als CronJob alle 15 Minuten ausgeführt. Neue Configuration Items (CIs) werden automatisch registriert und bestehende aktualisiert.

3.4 Impact-Visualisierung

Bei Ausfall einer Komponente zeigt die Health Map die Auswirkungskaskade:

Ausgefallene KomponenteDirekt betroffenIndirekt betroffen
PostgreSQL Patroni ClusterTicket Service, Governance ServicePortal Frontend (Tickets nicht ladbar)
Active Directory DCIdentity Service, Security ServiceAlle Portal-Logins, PAM-Sessions
SAN StorageDatastores, VMs auf betroffenem LUNAlle Services auf betroffenen VMs
Core Switch (VLAN 20)Kubernetes Cluster NetzwerkAlle Portal-Services
RabbitMQ ClusterAsync-Kommunikation, Alert-EventsTicket-Benachrichtigungen, AI-Triage
portal.hafs.de/monitoring/service-map
Service Health Map
Alle Services ▾ Live ● Vollbild
Applikationsschicht
Trading App
Portfolio Mgmt
Reporting
↓↓↓
Service-Schicht
API Gateway
Auth Service
Cache Layer
↓↓↓
Infrastruktur-Schicht
Database Cluster
Message Queue
Storage
Auth Service Degraded
auth-svc.hafs-portal.svc.cluster.local
847ms
Response Time
↑ 340 % vs. normal
4.2 %
Error Rate
↑ von 0.1 %
14:23 Response-Zeit überschreitet Schwellenwert
14:25 Error Rate steigt auf 3.8 %
14:27 Auto-Scaling aktiviert (3 → 5 Pods)
14:31 Noch erhöhte Latenz trotz Skalierung
KI-Analyse: Erhöhte Latenz korreliert mit Message-Queue-Ausfall. Auth Service wartet auf Bestätigungen von RabbitMQ. Empfehlung: Fallback-Modus ohne Queue-Bestätigung aktivieren.
Message Queue Down
rabbitmq.hafs-infra.svc.cluster.local
0 %
Verfügbarkeit
14:21
Ausfall seit
Runbook ausführen Ticket erstellen
Service Health Map – Abhängigkeitskarte mit Echtzeit-Status und Detail-Panel für degradierte Services

4. Capacity Planning

4.1 Ressourcen-Tracking

Capacity Planning Dashboard – CPU-Trend & Ressourcen-Übersicht
┌──────────────────────────────────────────────────────────────────┐
│              CAPACITY PLANNING DASHBOARD                         │
│                                                                  │
│  ┌─── CPU Trend (90 Tage) ────────────────────────────────┐     │
│  │                                                          │     │
│  │  100% ┤                                          ····    │     │
│  │   90% ┤  ── Schwelle 90% ──────────────── ·····         │     │
│  │   80% ┤  ── Schwelle 80% ──── ·····                      │     │
│  │   70% ┤              ····                                │     │
│  │   60% ┤         ····                                     │     │
│  │   50% ┤    ····                                          │     │
│  │   40% ┤····                                              │     │
│  │       └──┬────┬────┬────┬────┬────┬────┬────┬────┬──►   │     │
│  │         -90d -75d -60d -45d -30d -15d Heute +15d +30d   │     │
│  │                                                          │     │
│  │  ─── Aktuell (Ist)   ···· Prognose (Trend)              │     │
│  │                                                          │     │
│  │  Prognose: 80%-Schwelle erreicht in ~22 Tagen            │     │
│  │  Empfehlung: Worker-Node hinzufügen oder HPA anpassen   │     │
│  └──────────────────────────────────────────────────────────┘     │
│                                                                  │
│  ┌─── Ressourcen-Übersicht ──────────────────────────────┐     │
│  │                                                          │     │
│  │  Ressource       Aktuell  Trend   80%-Datum  Aktion     │     │
│  │  ─────────       ───────  ─────   ─────────  ──────     │     │
│  │  Cluster CPU     62%      ↑ +3%/M  22 Tage   Warnung    │     │
│  │  Cluster Memory  71%      ↑ +2%/M  45 Tage   Beobachten │     │
│  │  SAN Storage     55%      ↑ +5%/M  50 Tage   Beobachten │     │
│  │  MinIO Storage   38%      ↑ +8%/M  53 Tage   Beobachten │     │
│  │  Network (Uplink)22%      → stabil  —         OK         │     │
│  └──────────────────────────────────────────────────────────┘     │
└──────────────────────────────────────────────────────────────────┘

4.2 Prognose-Methodik

MethodeBeschreibungEinsatz
Lineare RegressionTrendberechnung über gleitenden DurchschnittStandard-Kapazitätsprognose
Saisonale ZerlegungErkennung von Wochen-/MonatsmusternWorkload-Spitzen vorhersagen
AI-gestützte AnalyseClaude Sonnet 4.5 analysiert Metriken-KontextKomplexe Zusammenhänge, Empfehlungen
What-If SzenarienSimulation bei Hinzufügen/Entfernen von RessourcenPlanungsentscheidungen

4.3 Schwellenwert-Alerting

SchwelleSeverityAktion
80% AuslastungWarning (Info)Dashboard-Markierung, Kapazitäts-Ticket (P4) erstellen
90% AuslastungWarningTeams-Benachrichtigung an Infra-Team, Ticket (P3)
95% AuslastungCriticalSofortige Eskalation an IT-Leitung, Ticket (P2)
Prognose: 80% in <30 TagenInfoPlanungshinweis an Capacity Manager
Prognose: 95% in <14 TagenWarningDringende Kapazitätserweiterung angefordert

4.4 Right-Sizing Empfehlungen

Das System analysiert die tatsächliche Nutzung gegenüber der zugewiesenen Kapazität und gibt Empfehlungen:

EmpfehlungstypBedingungBeispiel
Oversized VMCPU < 20% und Memory < 30% über 30 TageVM app-server-03: 8 vCPU → 4 vCPU empfohlen
Undersized VMCPU > 80% oder Memory > 85% wiederholtVM db-replica-02: 16 GB RAM → 32 GB empfohlen
Idle ResourcesCPU < 5% und keine Netzwerk-Aktivität über 14 TageVM test-legacy-01: Decommissioning prüfen
K8s Pod LimitsRequest/Limit-Verhältnis außerhalb Best PracticePod ai-gateway: Memory Limit zu niedrig (OOMKill)
portal.hafs.de/monitoring/capacity
Capacity Planning
Letzte 30 Tage ▾ Alle Cluster ▾ Bericht exportieren

Ressourcen-Auslastung (Durchschnitt)

CPU Avg 67 %
Memory 78 %
Disk 54 %
Network I/O 23 %

Top 5 Ressourcen-Verbraucher

ServerTypCPU %Mem %Disk %Trend
SRV-DB-01PostgreSQL Primary 94 % 91 % 76 % ↑ steigend
SRV-APP-TRADE-02Trading Engine 82 % 79 % 45 % ↑ steigend
SRV-BATCH-07Batch Processing 78 % 85 % 52 % → stabil
SRV-CACHE-03Redis Cluster 45 % 92 % 12 % ↑ steigend
SRV-ELASTIC-01Elasticsearch 56 % 74 % 81 % ↑ steigend
KI-Prognose: Basierend auf aktuellem Trend wird die Disk-Kapazität von SRV-DB-01 in 14 Tagen erschöpft sein. Empfehlung: Datastore-Erweiterung um mindestens 500 GB einplanen oder archivierte Daten auf Cold Storage migrieren. Memory von SRV-CACHE-03 erreicht in ca. 21 Tagen das Limit – Redis-Eviction-Policy prüfen.
Capacity Planning – Ressourcen-Auslastung mit Top-Verbrauchern und KI-gestützter Kapazitätsprognose

5. Alerting Engine

5.1 Architektur

Alert Processing Pipeline – Von Quelle bis Ausgabe
┌──────────────────────────────────────────────────────────────────┐
│              ALERTING ENGINE                                     │
│                                                                  │
│  ┌─── Quellen ─────────────────────────────────────────────┐     │
│  │                                                          │     │
│  │  Prometheus       vSphere Events     SNMP Traps          │     │
│  │  Alertmanager     K8s Events         Custom Health       │     │
│  │                                       Checks             │     │
│  └─────────────────────────┬────────────────────────────────┘     │
│                            ▼                                     │
│  ┌─────────────────────────────────────────────────────────┐     │
│  │              ALERT PROCESSING PIPELINE                   │     │
│  │                                                          │     │
│  │  1. Ingestion     → Alle Alerts empfangen                │     │
│  │  2. Deduplication → Doppelte Alerts entfernen            │     │
│  │  3. Correlation   → Zusammengehörende Alerts gruppieren │     │
│  │  4. Enrichment    → CMDB-Daten, Impact-Analyse           │     │
│  │  5. Classification→ Severity bestimmen (Info→Emergency)  │     │
│  │  6. Suppression   → Maintenance Windows prüfen          │     │
│  │  7. Routing       → An richtige Teams/Kanäle senden     │     │
│  │  8. Escalation    → Timeout-basierte Eskalation          │     │
│  └─────────────────────────┬────────────────────────────────┘     │
│                            ▼                                     │
│  ┌─── Ausgabe-Kanäle ─────────────────────────────────────┐     │
│  │                                                          │     │
│  │  Teams Webhook │ E-Mail │ PagerDuty │ Portal-Ticket      │     │
│  │  RabbitMQ Event │ Grafana Annotation │ Runbook-Trigger    │     │
│  └──────────────────────────────────────────────────────────┘     │
└──────────────────────────────────────────────────────────────────┘

5.2 Alert-Severity-Level

LevelFarbeBeschreibungBeispielReaktionszeit
InfoBlauInformativer Hinweis, keine Aktion nötigBackup erfolgreich abgeschlossenKeine
WarningGelbPotentielles Problem, Beobachtung nötigCPU-Auslastung > 80% seit 10 min< 4h
CriticalOrangeService beeinträchtigt, zeitnahe AktionDatenbank-Replikation verzögert > 5 min< 1h
EmergencyRotService ausgefallen, sofortige AktionPostgreSQL Cluster nicht erreichbar< 15 min

5.3 Alert-Routing-Regeln

Alert Routing – Regeln nach Team und Severity
┌──────────────────────────────────────────────────────────────────┐
│              ALERT ROUTING REGELN                                │
│                                                                  │
│  Regel 1: Infrastructure Alerts                                  │
│  ┌─────────────────────────────────────────────────────────┐     │
│  │  Match:  label.team == "infrastructure"                  │     │
│  │  Route:  → Teams: #infra-alerts                          │     │
│  │          → E-Mail: infra-team@hafs.de                    │     │
│  │          → Portal-Ticket (ab Warning)                    │     │
│  │  Escal:  30 min → On-Call Infra Lead                     │     │
│  │          60 min → IT-Leitung                             │     │
│  └─────────────────────────────────────────────────────────┘     │
│                                                                  │
│  Regel 2: Application Alerts                                     │
│  ┌─────────────────────────────────────────────────────────┐     │
│  │  Match:  label.team == "application"                     │     │
│  │  Route:  → Teams: #app-alerts                            │     │
│  │          → E-Mail: dev-team@hafs.de                      │     │
│  │          → Portal-Ticket (ab Warning)                    │     │
│  │  Escal:  30 min → Dev Lead                               │     │
│  │          60 min → IT-Leitung                             │     │
│  └─────────────────────────────────────────────────────────┘     │
│                                                                  │
│  Regel 3: Security Alerts                                        │
│  ┌─────────────────────────────────────────────────────────┐     │
│  │  Match:  label.team == "security"                        │     │
│  │  Route:  → Teams: #security-alerts (immer)               │     │
│  │          → PagerDuty (ab Critical)                       │     │
│  │          → Portal Security-Ticket (immer)                │     │
│  │  Escal:  15 min → CISO                                   │     │
│  │          30 min → IT-Geschäftsführung                  │     │
│  └─────────────────────────────────────────────────────────┘     │
│                                                                  │
│  Regel 4: Emergency (alle Teams)                                 │
│  ┌─────────────────────────────────────────────────────────┐     │
│  │  Match:  severity == "emergency"                         │     │
│  │  Route:  → PagerDuty (sofort)                            │     │
│  │          → Teams: #it-emergency                          │     │
│  │          → SMS an On-Call                                │     │
│  │          → Portal P1-Ticket (Auto-Create)                │     │
│  │  Escal:  10 min → IT-Leitung + Geschäftsführung        │     │
│  └─────────────────────────────────────────────────────────┘     │
└──────────────────────────────────────────────────────────────────┘

5.4 Eskalationsketten

EskalationsstufeTimeoutBenachrichtigungAktion
L1: On-Call Team0 minTeams + E-MailAlert wird zugewiesen
L2: Team Lead30 min (Warning), 15 min (Critical)Teams + E-Mail + TelefonEskalation bei fehlender Reaktion
L3: IT-Leitung60 min (Warning), 30 min (Critical)PagerDuty + SMSManagement informiert
L4: Geschäftsführung120 min (Critical), 30 min (Emergency)Telefon + SMSExecutive Escalation

5.5 Alert-Deduplizierung und Korrelation

MechanismusBeschreibung
FingerprintingAlerts mit identischem Source + Metrik + Labels werden dedupliziert
GroupingAlerts vom selben Host/Service werden zu einem Alert-Cluster zusammengefasst
CorrelationKausale Zusammenhänge erkennen (z.B. Disk Full → DB Fehler → Service Down)
Flap DetectionSchnell wechselnde Alerts (OK→FAIL→OK) werden als Flapping markiert
Root Cause AnalysisAI-gestützte Ursachenanalyse bei korrelierenden Alerts

5.6 Maintenance Windows

FunktionBeschreibung
Geplante WartungZeitfenster definieren, in dem Alerts unterdrückt werden
ScopePro Host, Service, Namespace oder Cluster-weit
Auto-SuppressAlerts werden gesammelt aber nicht eskaliert
Post-MaintenanceNach Fenster-Ende: Automatische Health-Prüfung aller betroffenen Services
Change-IntegrationVerknüpfung mit Change Management (M10) – Maintenance Window aus Change Request
portal.hafs.de/monitoring/alerts/rules
Alert-Regeln
Alle Severity ▾ + Neue Regel
Name Metrik Bedingung Schwellenwert Severity Status Benachrichtigung
CPU High Usage cpu_usage_percent größer als 90 % Critical Aktiv Slack, E-Mail, PagerDuty
Memory High Usage memory_usage_percent größer als 85 % Warning Aktiv Slack, E-Mail
Disk Space Low disk_usage_percent größer als 80 % Warning Aktiv Slack, E-Mail
Response Time Slow http_response_time_ms größer als 2.000 ms Critical Aktiv Slack, PagerDuty, Ticket
Error Rate High http_error_rate_percent größer als 5 % Critical Aktiv Slack, E-Mail, PagerDuty
Pod Restarts Frequent kube_pod_restart_count größer als 3 / 15 min Warning Deaktiviert Slack
6 Regeln · 5 aktiv · 1 deaktiviert Letzte Auswertung: vor 30 Sekunden
Alert-Konfiguration – Verwaltung von Schwellenwert-Regeln mit Severity-Stufen und Benachrichtigungskanälen

6. SLA Monitoring

6.1 Service-Verfügbarkeit

SLA Monitoring Dashboard – Verfügbarkeit & Uptime
┌──────────────────────────────────────────────────────────────────┐
│              SLA MONITORING DASHBOARD                             │
│                                                                  │
│  ┌─── Aktueller Monat (Februar 2026) ─────────────────────┐     │
│  │                                                          │     │
│  │  Service               SLA-Ziel  Aktuell    Status      │     │
│  │  ───────               ────────  ───────    ──────      │     │
│  │  Portal Frontend       99.9%     99.97%     [OK]        │     │
│  │  API Services          99.9%     99.94%     [OK]        │     │
│  │  AI Gateway            99.5%     99.82%     [OK]        │     │
│  │  Ticket System         99.9%     99.91%     [OK]        │     │
│  │  Identity Service      99.9%     99.45%     [WARNUNG]   │     │
│  │  Datenbank (PG)        99.99%    99.998%    [OK]        │     │
│  │  Message Bus           99.9%     99.99%     [OK]        │     │
│  │  Knowledge Search      99.5%     99.71%     [OK]        │     │
│  │                                                          │     │
│  │  Gesamt-Verfügbarkeit Portal:  99.87%                   │     │
│  └──────────────────────────────────────────────────────────┘     │
│                                                                  │
│  ┌─── Uptime letzte 12 Monate ────────────────────────────┐     │
│  │                                                          │     │
│  │  Mrz Apr Mai Jun Jul Aug Sep Okt Nov Dez Jan Feb        │     │
│  │  █   █   █   █   █   ▓   █   █   █   █   █   █          │     │
│  │                                                          │     │
│  │  █ = SLA eingehalten   ▓ = SLA verletzt                  │     │
│  └──────────────────────────────────────────────────────────┘     │
└──────────────────────────────────────────────────────────────────┘

6.2 Response-Time Monitoring

Servicep50 Zielp95 Zielp99 ZielMessmethode
Portal Frontend (TTFB)< 200ms< 500ms< 1sSynthetic Monitoring (alle 60s)
REST API (Ticket CRUD)< 100ms< 300ms< 800msOpenTelemetry Traces
AI Gateway (Chat Response)< 2s< 5s< 10sOpenTelemetry + Custom Metrics
Knowledge Search< 150ms< 500ms< 1sElasticsearch Query Metrics
Authentication (Login)< 300ms< 800ms< 2sLDAP + OIDC Latenz

6.3 SLA-Breach-Prognose

Das System berechnet basierend auf dem aktuellen Ausfallbudget eine Prognose:

BerechnungFormel
Erlaubte Ausfallzeit/Monat (99.9%)30 Tage x 24h x 60min x 0.1% = 43,2 Minuten
Verbrauchtes BudgetSumme aller Ausfallminuten im aktuellen Monat
Verbleibendes Budget43,2 min – Verbrauchtes Budget
Burn RateVerbrauchtes Budget / verstrichene Tage im Monat
Prognose SLA-VerletzungWenn Burn Rate > Budget / Restliche Tage

6.4 Monatliche SLA-Reports

Report-InhaltBeschreibung
Verfügbarkeits-ÜbersichtUptime pro Service (%, Minuten Downtime)
Incident-ZusammenfassungAlle Ausfälle mit Dauer, Ursache, Resolution
Response-Time AnalysePercentile-Verteilung (p50, p95, p99) pro Service
SLA-Trend12-Monats-Verlauf der Verfügbarkeit
VerbesserungsmaßnahmenGeplante Actions aus Post-Incident-Reviews

Reports werden automatisch am 1. jedes Monats generiert und per E-Mail an IT-Leitung und Service Owner versendet.

7. CMDB-Light

7.1 Datenmodell

CMDB-Light Datenmodell (PostgreSQL)
┌──────────────────────────────────────────────────────────────────┐
│              CMDB-LIGHT DATENMODELL (PostgreSQL)                  │
│                                                                  │
│  ┌─── Configuration Items (CIs) ──────────────────────────┐     │
│  │                                                          │     │
│  │  ci_id              UUID (PK)                            │     │
│  │  ci_type            ENUM (server, vm, service, database, │     │
│  │                      network_device, storage, application)│     │
│  │  name               VARCHAR                              │     │
│  │  display_name       VARCHAR                              │     │
│  │  description        TEXT                                  │     │
│  │  status             ENUM (discovered, provisioned,        │     │
│  │                      active, maintenance, decommissioned) │     │
│  │  environment        ENUM (production, staging, dev, test) │     │
│  │  location           VARCHAR (RZ, Rack, Slot)              │     │
│  │  owner_team         VARCHAR                              │     │
│  │  criticality        ENUM (low, medium, high, critical)    │     │
│  │  attributes         JSONB (flexible Attribute)            │     │
│  │  discovered_at      TIMESTAMPTZ                          │     │
│  │  last_seen          TIMESTAMPTZ                          │     │
│  │  created_at         TIMESTAMPTZ                          │     │
│  │  updated_at         TIMESTAMPTZ                          │     │
│  └──────────────────────────────────────────────────────────┘     │
│                                                                  │
│  ┌─── CI Relationships ────────────────────────────────────┐     │
│  │                                                          │     │
│  │  relationship_id    UUID (PK)                            │     │
│  │  source_ci_id       UUID (FK → CIs)                      │     │
│  │  target_ci_id       UUID (FK → CIs)                      │     │
│  │  relationship_type  ENUM (depends_on, runs_on,            │     │
│  │                      connects_to, stores_data_on,         │     │
│  │                      managed_by, contains)                │     │
│  │  auto_discovered    BOOLEAN                              │     │
│  │  created_at         TIMESTAMPTZ                          │     │
│  └──────────────────────────────────────────────────────────┘     │
│                                                                  │
│  ┌─── CI Lifecycle Events ─────────────────────────────────┐     │
│  │                                                          │     │
│  │  event_id           UUID (PK)                            │     │
│  │  ci_id              UUID (FK → CIs)                      │     │
│  │  event_type         ENUM (discovered, status_change,      │     │
│  │                      attribute_change, relationship_change)│     │
│  │  old_value          JSONB                                │     │
│  │  new_value          JSONB                                │     │
│  │  source             VARCHAR (auto-discovery, manual, api) │     │
│  │  timestamp          TIMESTAMPTZ                          │     │
│  └──────────────────────────────────────────────────────────┘     │
└──────────────────────────────────────────────────────────────────┘

7.2 CI-Typen und Attribute

CI-TypQuelle (Auto-Discovery)Wichtige Attribute
Server (ESXi Host)vSphere APICPU Cores, RAM, NICs, Firmware, Serial
VMvSphere APIvCPUs, vRAM, Guest OS, IP-Adresse, Datastore
Kubernetes ServiceK8s APINamespace, Replicas, Image, Labels, Ports
DatenbankK8s Labels + Port-ScanEngine, Version, Port, HA-Status
Network DeviceSNMPModell, Firmware, Ports, VLANs, IP
Storage (LUN/Bucket)SAN API / MinIO APIKapazität, RAID-Level, Protokoll
ApplicationK8s Ingress + LabelsURL, Service-Owner, Criticality

7.3 Auto-Discovery Mapping

Auto-Discovery Quellen – CI-Mapping
┌──────────────────────────────────────────────────────────────────┐
│              AUTO-DISCOVERY MAPPING                               │
│                                                                  │
│  VMware vSphere API                                              │
│  ├── Datacenter → Location                                       │
│  ├── Cluster → Server-Gruppe                                     │
│  ├── ESXi Host → CI Typ "server"                                 │
│  ├── VM → CI Typ "vm"                                            │
│  │   ├── VM → Host: "runs_on"                                    │
│  │   └── VM → Datastore: "stores_data_on"                        │
│  └── Datastore → CI Typ "storage"                                │
│                                                                  │
│  Kubernetes API                                                   │
│  ├── Deployment → CI Typ "service"                               │
│  │   ├── Service → Namespace: "contains"                         │
│  │   └── Service → PVC: "stores_data_on"                         │
│  ├── Node → Link zu VM (über IP-Matching)                       │
│  ├── PersistentVolume → CI Typ "storage"                         │
│  └── Labels (hafs.de/service-owner) → owner_team                 │
│                                                                  │
│  SNMP Walk                                                        │
│  ├── sysDescr → CI Typ "network_device" + Modell                 │
│  ├── ifTable → Interfaces, VLANs                                 │
│  └── Nachbar-Erkennung (CDP/LLDP) → "connects_to"               │
└──────────────────────────────────────────────────────────────────┘

7.4 Lifecycle-Tracking

StatusBeschreibungÜbergang
DiscoveredVom Auto-Discovery neu erkannt→ Provisioned (manuell bestätigt)
ProvisionedGenehmigt und bereitgestellt→ Active (Health Check OK)
ActiveIn Betrieb, wird überwacht→ Maintenance (geplante Wartung)
MaintenanceWartungsmodus, Alerts unterdrückt→ Active (Wartung abgeschlossen)
DecommissionedAußer Betrieb genommenEndstatus (archiviert)

7.5 Integration mit Portal Asset Management (M9)

DatenflussRichtungBeschreibung
CI-Daten → M9Monitor → PortalTechnische CIs als Basis für Asset-Einträge
Asset-Metadaten → MonitorPortal → MonitorBusiness-Owner, Kostenträger, Verträge
Lifecycle-EventsBidirektionalStatusänderungen synchronisieren
Dependency MapMonitor → PortalTechnische Abhängigkeiten für Impact-Analyse

8. Runbook Integration

8.1 Architektur

Runbook Execution Engine – Trigger bis Ergebnis
┌──────────────────────────────────────────────────────────────────┐
│              RUNBOOK INTEGRATION                                 │
│                                                                  │
│  ┌─── Trigger ─────────────────────────────────────────────┐     │
│  │                                                          │     │
│  │  Alert Engine        │ Manuell (Dashboard)               │     │
│  │  Portal-Ticket (M1)  │ Scheduler (CronJob)               │     │
│  └─────────────────────────┬────────────────────────────────┘     │
│                            ▼                                     │
│  ┌─────────────────────────────────────────────────────────┐     │
│  │              RUNBOOK EXECUTION ENGINE                     │     │
│  │                                                          │     │
│  │  1. Runbook auswählen (ID / Auto-Match via Alert-Tag)   │     │
│  │  2. Parameter validieren                                 │     │
│  │  3. Genehmigung prüfen (falls erforderlich)             │     │
│  │  4. Execution Environment starten (K8s Job)              │     │
│  │  5. Runbook ausführen (Ansible / Terraform / Script)    │     │
│  │  6. Output + Exit-Code erfassen                          │     │
│  │  7. Ergebnis loggen + Ticket aktualisieren               │     │
│  └─────────────────────────────────────────────────────────┘     │
│                                                                  │
│  ┌─── Execution Backends ──────────────────────────────────┐     │
│  │                                                          │     │
│  │  ┌────────────┐  ┌────────────┐  ┌──────────────────┐   │     │
│  │  │ Ansible    │  │ Terraform  │  │ Shell Scripts    │   │     │
│  │  │ Playbooks  │  │ Modules    │  │ (kubectl, etc.)  │   │     │
│  │  └────────────┘  └────────────┘  └──────────────────┘   │     │
│  └──────────────────────────────────────────────────────────┘     │
└──────────────────────────────────────────────────────────────────┘

8.2 Runbook-Bibliothek (Beispiele)

RunbookTriggerAktionAuto/Manuell
Restart PodPod CrashLoopBackOff > 5xkubectl rollout restart deploymentAuto (mit Limit)
Clear Disk SpaceDisk Usage > 90%Log-Rotation, Temp-BereinigungAuto
Scale DeploymentCPU > 85% für > 10 minHPA-Limits temporär erhöhenManuell (Genehmigung)
SSL Cert RenewZertifikat läuft in < 14 Tagen abcert-manager Renewal triggernAuto
DB VacuumPostgreSQL Bloat > SchwelleVACUUM ANALYZE ausführenAuto (Maintenance Window)
VM Snapshot CleanupSnapshot Alter > 72hvSphere API: Snapshot löschenManuell (Genehmigung)
Network Port ResetPort Flapping erkanntSNMP Set: Port disable/enableManuell
Backup RetryBackup fehlgeschlagenVeeam API: Backup-Job erneut startenAuto (1x Retry)

8.3 Genehmigungs-Workflows

RisikostufeGenehmigungBeispiel
Low RiskKeine (Auto-Execute)Log-Rotation, Pod-Restart, Cert Renewal
Medium RiskTeam Lead ApprovalDeployment Scaling, DB Maintenance
High RiskIT-Leitung ApprovalVM-Änderungen, Netzwerk-Konfiguration
CriticalDual Approval (Team Lead + IT-Leitung)Storage-Operationen, Firewall-Regeln

8.4 Audit Trail

Jede Runbook-Ausführung wird vollständig protokolliert:

FeldBeschreibung
Execution IDEindeutige ID der Ausführung
Runbook ID/NameWelches Runbook ausgeführt wurde
TriggerAlert-ID, Ticket-ID oder manuell (User)
ParameterInput-Parameter der Ausführung
GenehmigerWer die Ausführung genehmigt hat (falls erforderlich)
Start/EndeZeitstempel der Ausführung
Exit CodeErfolg (0) oder Fehler (>0)
Output LogVollständige Konsolenausgabe (verschlüsselt gespeichert)
Betroffene CIsWelche Configuration Items betroffen waren

8.5 Portal-Ticket Auto-Resolution

Auto-Resolution Flow – Alert bis Ticket-Abschluss
Alert: "Pod ai-gateway in CrashLoopBackOff"
       │
       ▼
┌──────────────────┐
│ Alert Engine     │
│ → Match Runbook: │──► Runbook "restart-pod" gefunden
│   "restart-pod"  │
└──────┬───────────┘
       │
       ▼
┌──────────────────┐
│ Auto-Execute     │
│ (Low Risk)       │──► kubectl rollout restart deployment/ai-gateway
└──────┬───────────┘
       │
       ├──► Erfolg: Pod läuft wieder
       │
       ▼
┌──────────────────┐
│ Portal-Ticket    │
│ Auto-Update      │──► Ticket-Status: "Resolved (Auto)"
│                  │    Resolution Note: "Pod automatisch neu gestartet"
│                  │    Runbook-Log angehängt
└──────────────────┘

9. Executive Dashboard

9.1 Übersicht

Executive IT Dashboard – Health Score, KPIs & Kosten
┌──────────────────────────────────────────────────────────────────┐
│              EXECUTIVE IT DASHBOARD                              │
│              (Für IT-Management / Geschäftsführung)           │
│                                                                  │
│  ┌─── IT Health Score ─────────────────────────────────────┐     │
│  │                                                          │     │
│  │                    ┌───────┐                              │     │
│  │                    │       │                              │     │
│  │                    │  87   │  /100                        │     │
│  │                    │       │                              │     │
│  │                    └───────┘                              │     │
│  │                    "Gut"                                  │     │
│  │                                                          │     │
│  │  Teilbereiche:                                           │     │
│  │  Verfügbarkeit:  92/100 ████████████████████░░░░        │     │
│  │  Performance:     88/100 ██████████████████░░░░░░        │     │
│  │  Sicherheit:      85/100 █████████████████░░░░░░░        │     │
│  │  Kapazität:       82/100 ████████████████░░░░░░░░        │     │
│  │  Compliance:      90/100 ██████████████████░░░░░░        │     │
│  └──────────────────────────────────────────────────────────┘     │
│                                                                  │
│  ┌─── KPIs auf einen Blick ───────────────────────────────┐     │
│  │                                                          │     │
│  │  Portal-Verfügbarkeit     99.87%    (Ziel: 99.9%)      │     │
│  │  Offene Incidents          3         (P1: 0, P2: 1)     │     │
│  │  MTTR (30 Tage)            42 min    (Ziel: < 60 min)   │     │
│  │  Alerts diese Woche        127       (↓ 12% vs. Vorw.)  │     │
│  │  Kapazität (nächste      CPU: 22d   Storage: 50d       │     │
│  │    Schwelle)               Memory: 45d                   │     │
│  │  Runbooks ausgeführt      34        (Erfolg: 97%)       │     │
│  └──────────────────────────────────────────────────────────┘     │
└──────────────────────────────────────────────────────────────────┘
87/100
IT Health Score
99.87%
Portal-Verfügbarkeit
42 min
MTTR (30 Tage)
97%
Runbook-Erfolgsrate

9.2 IT Health Score Berechnung

TeilbereichGewichtungMetriken
Verfügbarkeit30%Service Uptime, SLA-Einhaltung, Erfolgreiche Health Checks
Performance20%Response Times (p95), Error Rate, Throughput
Sicherheit20%Offene Vulnerabilities, Security Incidents, Patch-Compliance
Kapazität15%Ressourcen-Headroom, Wachstumstrend, Right-Sizing Score
Compliance15%Audit Findings, Policy-Compliance, Backup-Erfolgsrate

9.3 Incident Trends und MTTR

KPIBerechnungDarstellung
MTTR (Mean Time to Resolve)Durchschnitt Ticket-Erstellung bis ResolutionTrend-Chart (12 Wochen)
MTTD (Mean Time to Detect)Alert-Zeitpunkt minus geschätzter BeginnTrend-Chart (12 Wochen)
Incident-VolumenAnzahl P1/P2 Incidents pro WocheBalkendiagramm nach Severity
Wiederkehrende IncidentsIncidents mit gleicher Root Cause in 30 TagenTop-5 Liste mit Trend
Auto-Resolution Rate% der Incidents durch Runbooks automatisch gelöstTrend-Chart + Zielwert

9.4 Budget vs. Actual

KategorieBudget/MonatActual/MonatDeltaTrend
Compute5.000 EUR4.500 EUR-500 EUR
Storage2.500 EUR2.100 EUR-400 EUR
Netzwerk2.000 EUR1.800 EUR-200 EUR
Cloud-Services3.500 EUR3.200 EUR-300 EUR↑ (Claude API steigend)
Lizenzen8.000 EUR8.200 EUR+200 EUR
Support/Wartung1.000 EUR800 EUR-200 EUR
Gesamt22.000 EUR20.600 EUR-1.400 EUR
portal.hafs.de/monitoring/executive
Executive Dashboard
Februar 2026 ▾ PDF Export
99,94 %
Gesamtverfügbarkeit
+0,02 % vs. Vormonat
23 min
MTTR
−8 min vs. Vormonat
7
Incidents (Monat)
−3 vs. Vormonat
94 %
Kosteneffizienz
+2 % vs. Vormonat
SLA-Compliance
99,94 %
Ziel: 99,90 % · ✓ Erfüllt
99,0 % 99,5 % 99,9 % 100 %
Trading Platform99,99 %
Portfolio Management99,97 %
Reporting99,95 %
Auth Service99,82 %
Incidents nach Kategorie
Infrastruktur 3
Applikation 2
Netzwerk 1
Security 1
System Health Trend (30 Tage)
Wöchentliche Verfügbarkeit über alle kritischen Systeme
KW 03
99,91 %
KW 04
99,96 %
KW 05
99,87 %
KW 06
99,98 %
Executive Dashboard – Management-Übersicht mit KPIs, SLA-Compliance und Incident-Trends

10. Portal-Integration

10.1 REST API (Monitor → Portal)

EndpointMethodeBeschreibung
/api/v1/monitor/healthGETGesamt-Health-Status aller Services
/api/v1/monitor/services/{id}/statusGETHealth-Status eines spezifischen Services
/api/v1/monitor/alerts/activeGETAlle aktiven Alerts
/api/v1/monitor/cmdb/itemsGETCMDB Configuration Items (paginiert)
/api/v1/monitor/cmdb/items/{id}/dependenciesGETDependencies eines CIs
/api/v1/monitor/capacity/forecastGETKapazitätsprognosen
/api/v1/monitor/sla/currentGETAktuelle SLA-Werte
/api/v1/monitor/sla/report/{month}GETMonatlicher SLA-Report
/api/v1/monitor/executive/scoreGETIT Health Score
/api/v1/monitor/runbooksGETVerfügbare Runbooks
/api/v1/monitor/runbooks/{id}/executePOSTRunbook ausführen

10.2 REST API (Portal → Monitor)

EndpointMethodeBeschreibung
/api/v1/monitor/maintenance-windowsPOSTMaintenance Window anlegen
/api/v1/monitor/alerts/{id}/acknowledgePOSTAlert bestätigen
/api/v1/monitor/alerts/{id}/silencePOSTAlert stummschalten
/api/v1/monitor/cmdb/itemsPOST/PUTCI manuell anlegen/aktualisieren
/api/v1/monitor/runbooks/{id}/approvePOSTRunbook-Ausführung genehmigen

10.3 Event Bus Integration (RabbitMQ)

RabbitMQ Event Bus – Bidirektionale Integration
┌──────────────────────────────────────────────────────────────────┐
│              RABBITMQ EVENT BUS INTEGRATION                      │
│                                                                  │
│  Monitor → Portal (Exchanges)                                    │
│  ────────────────────────────                                    │
│  monitor.alert.created       → Portal: Auto-Ticket erstellen     │
│  monitor.alert.escalated     → Portal: Ticket-Priorität erhöhen│
│  monitor.alert.resolved      → Portal: Ticket auto-schließen    │
│  monitor.sla.breach          → Portal: P1-Ticket + Notification  │
│  monitor.capacity.warning    → Portal: Kapazitäts-Ticket        │
│  monitor.runbook.completed   → Portal: Ticket-Update             │
│  monitor.ci.discovered       → Portal: Asset-Sync (M9)           │
│  monitor.ci.status_changed   → Portal: Asset-Update (M9)         │
│                                                                  │
│  Portal → Monitor (Exchanges)                                    │
│  ────────────────────────────                                    │
│  portal.ticket.created       → Monitor: Alert-Korrelation         │
│  portal.change.approved      → Monitor: Maintenance Window setzen │
│  portal.change.completed     → Monitor: Maintenance Window beenden│
│  portal.asset.updated        → Monitor: CMDB-Update               │
└──────────────────────────────────────────────────────────────────┘

10.4 Dashboard-Embedding

EinbettungMethodeZiel im Portal
Service Health MapReact-Komponente (Shared Library)Portal Dashboard (M8)
Grafana DashboardsGrafana Embedded (iframe / API)Analytics-Bereich (M8)
IT Health ScoreREST API WidgetManagement Dashboard
Active AlertsREST API + WebSocket (Live)Portal Header / Notification Center
CMDB-DatenREST APIAsset Management (M9)

10.5 AI-gestützte Anomalie-Erkennung

AI Anomaly Detection – Datensammlung, Analyse & Aktion
┌──────────────────────────────────────────────────────────────────┐
│              AI ANOMALY DETECTION                                │
│                                                                  │
│  ┌─── Datensammlung ──────────────────────────────────────┐     │
│  │                                                          │     │
│  │  Prometheus Metriken (letzte 24h + 30-Tage-Baseline)     │     │
│  │  ├── CPU/Memory/Disk/Network pro Service                 │     │
│  │  ├── Request Rates, Error Rates, Latency                 │     │
│  │  └── Business Metriken (Ticket-Volumen, Login-Raten)     │     │
│  └─────────────────────────┬────────────────────────────────┘     │
│                            ▼                                     │
│  ┌─────────────────────────────────────────────────────────┐     │
│  │  Claude Sonnet 4.5 Analyse (Batch, alle 15 min)         │     │
│  │                                                          │     │
│  │  Output:                                                 │     │
│  │  • Anomalie-Score (0-100)                                │     │
│  │  • Betroffene Metriken/Services                          │     │
│  │  • Erklärung der Anomalie                               │     │
│  │  • Empfohlene Maßnahmen                                 │     │
│  │  • Korrelation mit anderen Events                        │     │
│  └─────────────────────────┬────────────────────────────────┘     │
│                            ▼                                     │
│  ┌─────────────────────────────────────────────────────────┐     │
│  │  Aktion (bei Anomalie-Score > 70):                       │     │
│  │                                                          │     │
│  │  • Alert erstellen (Severity basierend auf Score)        │     │
│  │  • Grafana Annotation setzen                             │     │
│  │  • Infra-Team benachrichtigen                            │     │
│  │  • Portal-Ticket (P3) mit AI-Analyse erstellen           │     │
│  └─────────────────────────────────────────────────────────┘     │
└──────────────────────────────────────────────────────────────────┘
AI-Analyse TypBeschreibungFrequenz
Anomalie-ErkennungUngewöhnliche Metrik-Muster vs. BaselineAlle 15 min
KapazitätsprognoseWann werden Schwellenwerte erreicht?Täglich
Incident-KorrelationWelche Alerts gehören zusammen?Bei jedem neuen Alert
Root Cause SuggestionMögliche Ursache bei korrelierenden AlertsBei Alert-Cluster
Weekly SummaryWöchentliche IT-Infrastruktur-ZusammenfassungMontags 08:00

10.6 Technologie-Zusammenfassung

Gesamtarchitektur auf einen Blick

Das IT Monitor Add-on vereint Prometheus + Grafana (Metriken & Dashboards), Node.js/TypeScript (Backend), React 19 (Frontend), PostgreSQL 16 (CMDB-Light), RabbitMQ (Event Bus), Ansible + Terraform (Runbooks) und Claude Sonnet 4.5 (AI-Anomalie-Erkennung). Deployment erfolgt via Helm Charts und Flux v2 (GitOps) im Namespace hafs-monitor.

SchichtTechnologien
FrontendReact 19, TypeScript, Tailwind CSS, Shadcn/UI, Recharts/Visx
BackendNode.js 22, TypeScript, Express/Fastify, Prisma (PostgreSQL)
MetrikenPrometheus, Alertmanager, Thanos (optional), kube-state-metrics
VisualisierungGrafana, Custom React Dashboards
DatenbankPostgreSQL 16 (CMDB-Light), Prometheus TSDB (Metriken)
MessagingRabbitMQ (Event Bus zum Portal)
DatenquellenvSphere API, Kubernetes API, SNMP Exporter, MinIO API, SAN API
RunbooksAnsible, Terraform, Shell (ausgeführt als K8s Jobs)
AIAnthropic Claude Sonnet 4.5 (Anomalie-Erkennung, Prognosen)
DeploymentHelm Charts, Flux v2 (GitOps), Namespace hafs-monitor