1.8 KiB
1.8 KiB
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
{
"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 Sekundenmemory.rss: Resident Set Size (gesamter Speicherverbrauch)memory.heapTotal: Gesamter JavaScript-Heap-Speichermemory.heapUsed: Verwendeter JavaScript-Heap-Speichermemory.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:
- Statusabfrage:
curl http://<server>:<port>/metrics - Prüfung auf Antwortzeit: Die Antwort sollte innerhalb von 500ms erfolgen
- 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 Laufzeitprocess.memoryUsage()für den Speicherverbrauch