60 lines
No EOL
1.8 KiB
Markdown
60 lines
No EOL
1.8 KiB
Markdown
# Monitoring und Alerting
|
|
|
|
## Überblick
|
|
|
|
Das Projekt implementiert ein einfaches Monitoring-System, um die Laufzeit des Systems zu überwachen. Es bietet einen `/metrics` Endpoint an, der grundlegende Systeminformationen bereitstellt.
|
|
|
|
## /metrics Endpoint
|
|
|
|
Der `/metrics` Endpoint ist unter folgender URL erreichbar:
|
|
|
|
```
|
|
GET /metrics
|
|
```
|
|
|
|
### Antwortstruktur
|
|
|
|
```json
|
|
{
|
|
"uptime": 1234.56,
|
|
"memory": {
|
|
"rss": 20480000,
|
|
"heapTotal": 10240000,
|
|
"heapUsed": 8192000,
|
|
"external": 102400
|
|
},
|
|
"timestamp": "2026-03-06T23:47:00.000Z"
|
|
}
|
|
```
|
|
|
|
### Beschreibung der Felder
|
|
|
|
- `uptime`: Laufzeit des Prozesses in Sekunden
|
|
- `memory.rss`: Resident Set Size (gesamter Speicherverbrauch)
|
|
- `memory.heapTotal`: Gesamter JavaScript-Heap-Speicher
|
|
- `memory.heapUsed`: Verwendeter JavaScript-Heap-Speicher
|
|
- `memory.external`: Externer Speicher (z.B. von Native Addons)
|
|
- `timestamp`: Zeitstempel der Anfrage
|
|
|
|
## Unraid-kompatibler Check
|
|
|
|
Für die Integration mit Unraid kann der `/metrics` Endpoint als Healthcheck verwendet werden:
|
|
|
|
1. **Statusabfrage**: `curl http://<server>:<port>/metrics`
|
|
2. **Prüfung auf Antwortzeit**: Die Antwort sollte innerhalb von 500ms erfolgen
|
|
3. **Prüfung auf Statuscode**: HTTP 200 OK
|
|
|
|
## Alerting
|
|
|
|
Für das Alerting können folgende Schwellenwerte definiert werden:
|
|
|
|
- **Uptime**: Bei einem Anstieg der Uptime über einen bestimmten Wert (z.B. 1 Tag) kann eine Warnung ausgelöst werden
|
|
- **Memory Usage**: Bei Verwendung von mehr als 80% des verfügbaren Speichers kann eine Warnung ausgelöst werden
|
|
- **Response Time**: Bei Antwortzeiten über 500ms kann eine Warnung ausgelöst werden
|
|
|
|
## Implementierung
|
|
|
|
Die Implementierung erfolgt im Backend unter Verwendung von Node.js Built-ins:
|
|
|
|
- `process.uptime()` für die Laufzeit
|
|
- `process.memoryUsage()` für den Speicherverbrauch |