Inhaltsverzeichnis

Runbook: Logs prüfen

Dauer: ~10 Minuten
Rolle: Gateway-Operator
Häufigkeit: Täglich / Bei Problemen

Analyse der Gateway-Logs für Fehlerdiagnose und Monitoring.


Workflow

flowchart TD A[Logs öffnen] --> B[Nach ERROR filtern] B --> C{Fehler gefunden?} C -->|Ja| D[Fehler analysieren] C -->|Nein| E[Nach WARN filtern] D --> F[Maßnahme ergreifen] E --> G{Warnungen?} G -->|Ja| H[Dokumentieren] G -->|Nein| I[OK - Fertig] F --> I H --> I style I fill:#e8f5e9 style D fill:#ffebee style H fill:#fff3e0


1. Log-Speicherorte

Plattform Pfad
———–——
Windows (Konsole) Konsolenausgabe
Windows (Service) %GATEWAY_ROOT%\logs\ oder Event Log
Linux (systemd) journalctl -u data-gateway
Docker docker logs gateway

2. Letzte Logs anzeigen

Windows (Datei):

# Letzte 50 Zeilen
Get-Content -Path "%GATEWAY_ROOT%\logs\gateway.log" -Tail 50
 
# Live-Tail
Get-Content -Path "%GATEWAY_ROOT%\logs\gateway.log" -Wait -Tail 10

Linux (systemd):

# Letzte 100 Zeilen
journalctl -u data-gateway -n 100 --no-pager
 
# Live-Tail
journalctl -u data-gateway -f

Docker:

# Letzte 100 Zeilen
docker logs --tail 100 gateway
 
# Live-Tail
docker logs -f gateway

3. Nach Fehlern filtern

Windows:

# ERROR-Einträge
Select-String -Path "%GATEWAY_ROOT%\logs\*.log" -Pattern "ERROR|Exception"
 
# Heute
Get-Content "%GATEWAY_ROOT%\logs\gateway.log" | Where-Object { $_ -match "ERROR" -and $_ -match (Get-Date -Format "yyyy-MM-dd") }

Linux:

# ERROR-Einträge
journalctl -u data-gateway --since today | grep -E "ERROR|Exception"
 
# Oder in Datei
grep -E "ERROR|Exception" /var/log/gateway/gateway.log

4. Häufige Log-Muster

Erfolgreiche Anfrage:

[INFO] GET /api/v1/dsn/demo/tables 200 45ms

Fehler:

[ERROR] GET /api/v1/dsn/invalid/tables 404 Database 'invalid' not found
[ERROR] POST /api/v1/dsn/demo/query 500 SqlException: Invalid syntax

Warnung:

[WARN] Slow query detected: 2340ms for GET /api/v1/dsn/produktion/tables/BigTable

5. Log-Level anpassen

In appsettings.json:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "WvdS.WebAPI.Data.Gateway": "Debug"
    }
  }
}
Level Verwendung
——-————
Trace Sehr detailliert (Entwicklung)
Debug Debugging-Informationen
Information Normale Operationen (Standard)
Warning Potenzielle Probleme
Error Fehler, die behandelt wurden
Critical Schwere Fehler, Absturz

6. Checkliste

# Prüfpunkt
———–
1 ERROR-Einträge durchgesehen
2 WARN-Einträge durchgesehen
3 Slow Queries notiert
4 Fehler dokumentiert/gemeldet
5 Log-Rotation aktiv

Troubleshooting

Log-Meldung Ursache Lösung
————-—————–
Database not found DSN nicht konfiguriert appsettings.json prüfen
Connection refused DB nicht erreichbar Firewall/Netzwerk prüfen
SqlException: Login failed Falsche Credentials Passwort prüfen
OutOfMemoryException Zu große Abfrage $top Limit setzen
Timeout expired DB zu langsam Index optimieren

Log-Rotation einrichten

Serilog (appsettings.json):

{
  "Serilog": {
    "WriteTo": [
      {
        "Name": "File",
        "Args": {
          "path": "logs/gateway-.log",
          "rollingInterval": "Day",
          "retainedFileCountLimit": 30
        }
      }
    ]
  }
}

Verwandte Runbooks


« ← Health Check | → Operator-Übersicht »


Wolfgang van der Stille @ EMSR DATA d.o.o. - Data Gateway Professional