# 🛡️ CoreWatch **Ein leichtgewichtiges, Agent-loses und Topologie-basiertes IT-Monitoring-System – zugeschnitten auf KMUs und IT-Dienstleister.** ## 🎯 Was ist CoreWatch? CoreWatch ist die smarte Antwort auf überladene Monitoring-Lösungen wie Check_mk oder Zabbix. Es konzentriert sich auf das Wesentliche: Ist die Infrastruktur online? Laufen die Docker-Container? Gibt es Hardware-Probleme? Anstatt auf jedem Server eigene Agenten zu installieren, agiert CoreWatch "Agentless" und greift auf bestehende APIs (Proxmox, Portainer) zurück oder nutzt schlanke Push-Webhooks. ### ✨ Key Features (Geplant) * **Die "Mutti-Regel" (Topologie-Awareness):** Fällt ein Host aus, werden die Alarme für darauf laufende VMs/Container automatisch pausiert. Kein Alert-Spamming mehr! * **Agentless Monitoring:** Direkte API-Anbindung an **Proxmox VE** und **Portainer**. * **Multi-Tenancy:** Komplett mandantenfähig für IT-Dienstleister mit granularem Rechtesystem und Host-Gruppen. * **SSL & Web-Checks:** Warnungen vor ablaufenden Zertifikaten und HTTP(S) Status-Tracking. * **Smart Alerting:** Direkte Integration von Gotify (Push) und Mailcow (E-Mail). --- ## 🚀 Entwicklungs-Roadmap ### 🏗️ Phase 1: Core, Datenbank & Multi-Tenancy (Das Fundament) - [ ] **Datenbank-Design (SQLite/MySQL):** Struktur für Benutzer, Host-Gruppen (Kunden/Mandanten), Hosts, und Check-Ergebnisse. - [ ] **Multi-User & Rechte:** Implementierung einer RBAC (Role-Based Access Control). - [ ] **Worker-Daemon:** Ein PHP-CLI-Skript, das als Hintergrunddienst läuft und die Check-Queue abarbeitet. - [ ] **Die "Mutti-Regel":** Logik für Parent-Child-Beziehungen implementieren. ### 🌐 Phase 2: Web & Network Checks - [ ] **ICMP Ping Check:** Dual-Stack Unterstützung (IPv4 & IPv6). - [ ] **HTTP/S Status Check:** Prüfung auf Statuscode 200/302 und Antwortzeiten. - [ ] **SSL-Zertifikats-Wächter:** Auslesen des Zertifikats und automatischer Alert vor Ablauf. - [ ] **SNMP Integration:** Basis-Abfragen für Firewalls (OPNSense), Switches und APs. ### 🖥️ Phase 3: Proxmox Integration - [ ] **Host-Metriken:** CPU, RAM und Storage des PVE-Hosts überwachen. - [ ] **Smart/SSD Wearout Check:** Abfrage des Wearout-Indikators für Hardware-Ausfallvorhersagen. - [ ] **QEMU Guest Agent Deep-Dive:** Überprüfung von VMs via Guest Agent (Root-Filesystem, OS-Crash-Detection). ### 🐳 Phase 4: Portainer & Docker Integration - [ ] **Portainer API Proxy:** Anbindung der globalen Portainer API mit Token. - [ ] **Endpoint-Discovery:** Automatisches Auslesen aller angebundenen Docker-Environments. - [ ] **Container Health:** Abfragen von CPU, RAM und Health-Status pro Container (ohne lokale Agenten). ### 🐧 Phase 5: Standalone Linux & Hardware - [ ] **Webhook "Push" Reporter (Heartbeat):** API-Route für Bash-Cronjobs von externen Servern. - [ ] **Dead-Man's Switch:** Löst Alarm aus, wenn ein "Push"-Host sich nicht meldet. ### 🔔 Phase 6: Alerting & Notifications - [ ] **Gotify Integration:** Push-Benachrichtigungen aufs Handy bei kritischen Ausfällen. - [ ] **Mailcow / SMTP Integration:** HTML-Mails mit Fehlerbeschreibungen und Historien-Auszug. - [ ] **Recovery-Benachrichtigung:** "Entwarnung", sobald ein Dienst wieder verfügbar ist. ### 🎨 Phase 7: Das Frontend (Dashboard) - [ ] **Status-Matrix (Ampelsystem):** Cleanes, Kachel-basiertes Dashboard in TailwindCSS. - [ ] **Öffentliche Statusseite (Optional):** Eine Read-Only-Ansicht für Endkunden (status.domain.de). --- *Ein Projekt von [tessmann.dev](https://tessmann.dev)*