Add files via upload
This commit is contained in:
@@ -0,0 +1,56 @@
|
|||||||
|
# 🛡️ 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)*
|
||||||
Reference in New Issue
Block a user