helpyourneighbour/docs/monitoring.md
OpenClaw dada761d84
Some checks are pending
Docker Test / test (push) Waiting to run
fix(#17): Implementiere /metrics Endpoint für Monitoring
2026-03-06 23:48:01 +00:00

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