111 lines
4.0 KiB
Markdown
111 lines
4.0 KiB
Markdown
# Watcher - Server Monitoring Solution
|
|
|
|
[](https://git.triggermeelmo.com/Watcher/watcher/actions)
|
|
[](https://dotnet.microsoft.com/)
|
|
[](https://git.triggermeelmo.com/watcher/-/packages/container/watcher-server)
|
|
[](https://git.triggermeelmo.com/watcher/watcher-server)
|
|
|
|
**Watcher** ist eine umfassende Server- und Host-Monitoring-Lösung mit verteilter Architektur, die Echtzeit-Hardware-Metriken erfasst und über ein zentrales Web-Dashboard visualisiert.
|
|
|
|
## 📋 Überblick
|
|
|
|
Die Software besteht aus zwei Hauptkomponenten:
|
|
|
|
- **Host Agent**: Sammelt Hardware-Metriken (CPU, GPU, RAM, Festplatte, Netzwerk) von den überwachten Servern
|
|
- **Zentrale Monitoring-Software**: Web-basiertes Dashboard zur Visualisierung und Verwaltung der gesammelten Daten
|
|
|
|
### Hauptfunktionen
|
|
- Echtzeit-Hardware-Monitoring (CPU, GPU, RAM, Festplatte, Netzwerk)
|
|
- Docker-Container-Überwachung mit Service Discovery
|
|
- Web-basiertes Dashboard mit historischen Daten
|
|
- Konfigurierbare Alarmschwellen
|
|
- REST API mit Swagger-Dokumentation
|
|
- Automatische Datenaufbewahrung (konfigurierbar)
|
|
- Rootless Container-Betrieb für erhöhte Sicherheit
|
|
|
|
## 🚀 Installation & Start
|
|
|
|
### Voraussetzungen
|
|
- [Docker](https://www.docker.com/)
|
|
- [Docker Compose](https://docs.docker.com/compose/)
|
|
|
|
### Schnellstart
|
|
|
|
1. **Repository klonen oder docker-compose.yaml herunterladen**
|
|
```bash
|
|
git clone https://git.triggermeelmo.com/Watcher/watcher.git
|
|
cd watcher
|
|
```
|
|
|
|
2. **Umgebungsvariablen konfigurieren (optional)**
|
|
```bash
|
|
# .env Datei erstellen
|
|
cp .env.example .env
|
|
|
|
# Eigene UID/GID eintragen (für korrekte Dateiberechtigungen)
|
|
echo "USER_UID=$(id -u)" >> .env
|
|
echo "USER_GID=$(id -g)" >> .env
|
|
```
|
|
|
|
3. **Verzeichnisse mit korrekten Rechten erstellen**
|
|
```bash
|
|
mkdir -p data/db data/dumps data/logs
|
|
chown -R $(id -u):$(id -g) data/
|
|
```
|
|
|
|
4. **Container starten**
|
|
```bash
|
|
docker compose up -d
|
|
```
|
|
|
|
5. **Dashboard aufrufen**
|
|
```
|
|
http://localhost:5000
|
|
```
|
|
|
|
6. **Standardanmeldung**
|
|
- Benutzername: `admin`
|
|
- Passwort: `changeme`
|
|
- ⚠️ **Wichtig:** Passwort nach dem ersten Login ändern!
|
|
|
|
### Konfiguration
|
|
|
|
#### Wichtige Umgebungsvariablen
|
|
|
|
| Variable | Beschreibung | Standard |
|
|
|----------|--------------|----------|
|
|
| `USER_UID` | User-ID für Container (Dateiberechtigungen) | `1000` |
|
|
| `USER_GID` | Gruppen-ID für Container | `1000` |
|
|
| `IMAGE_VERSION` | Docker Image Version | `latest` |
|
|
| `METRIC_RETENTION_DAYS` | Datenspeicherdauer (Tage) | `30` |
|
|
| `METRIC_CLEANUP_ENABLED` | Automatische Datenbereinigung | `true` |
|
|
| `FRONTEND_REFRESH_INTERVAL_SECONDS` | Dashboard Aktualisierungsrate | `30` |
|
|
|
|
Vollständige Liste: siehe `docker-compose.yaml`
|
|
|
|
#### Volumes
|
|
|
|
- `./data/db` → `/app/persistence` - SQLite-Datenbank
|
|
- `./data/dumps` → `/app/wwwroot/downloads/sqlite` - Datenbank-Exports
|
|
- `./data/logs` → `/app/logs` - Anwendungslogs
|
|
|
|
#### Sicherheit
|
|
|
|
Der Container läuft als **non-root user** mit konfigurierbarer UID/GID:
|
|
- Standard: `1000:1000`
|
|
- Anpassbar über `USER_UID` und `USER_GID` in `.env`
|
|
- Empfehlung: Eigene UID/GID verwenden für korrekte Dateiberechtigungen
|
|
|
|
## 📝 Lizenz
|
|
|
|
Dieses Projekt ist unter einer proprietären Lizenz lizenziert.
|
|
|
|
## 🔗 Links
|
|
|
|
- **Repository:** [https://git.triggermeelmo.com/Watcher/watcher](https://git.triggermeelmo.com/Watcher/watcher)
|
|
- **Container Registry:** [https://git.triggermeelmo.com/watcher/-/packages/container/watcher-server](https://git.triggermeelmo.com/watcher/-/packages/container/watcher-server)
|
|
- **Issue Tracker:** [https://git.triggermeelmo.com/Watcher/watcher/issues](https://git.triggermeelmo.com/Watcher/watcher/issues)
|
|
|
|
---
|
|
|
|
**Entwickelt mit ❤️ unter Verwendung von .NET 8.0** |