Runbook: Pregled dnevnikov

Trajanje: ~10 minut
Vloga: Gateway-operater
Pogostost: Dnevno / Ob težavah

Analiza Gateway-dnevnikov za diagnostiko napak in nadzor.


Potek dela

flowchart TD A[Odpri dnevnike] --> B[Filtriraj ERROR] B --> C{Napake najdene?} C -->|Da| D[Analiziraj napake] C -->|Ne| E[Filtriraj WARN] D --> F[Ukrepi] E --> G{Opozorila?} G -->|Da| H[Dokumentiraj] G -->|Ne| I[V redu - Končano] F --> I H --> I style I fill:#e8f5e9 style D fill:#ffebee style H fill:#fff3e0


1. Lokacije dnevnikov

Platforma Pot
———–——
Windows (konzola) Izpis v konzoli
Windows (storitev) %GATEWAY_ROOT%\logs\ ali Event Log
Linux (systemd) journalctl -u data-gateway
Docker docker logs gateway

2. Prikaz zadnjih dnevnikov

Windows (datoteka):

# Zadnjih 50 vrstic
Get-Content -Path "%GATEWAY_ROOT%\logs\gateway.log" -Tail 50
 
# Živi prenos
Get-Content -Path "%GATEWAY_ROOT%\logs\gateway.log" -Wait -Tail 10

Linux (systemd):

# Zadnjih 100 vrstic
journalctl -u data-gateway -n 100 --no-pager
 
# Živi prenos
journalctl -u data-gateway -f

Docker:

# Zadnjih 100 vrstic
docker logs --tail 100 gateway
 
# Živi prenos
docker logs -f gateway

3. Filtriranje napak

Windows:

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

Linux:

# ERROR-vnosi
journalctl -u data-gateway --since today | grep -E "ERROR|Exception"
 
# Ali v datoteki
grep -E "ERROR|Exception" /var/log/gateway/gateway.log

4. Pogosti vzorci dnevnikov

Uspešna zahteva:

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

Napaka:

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

Opozorilo:

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

5. Prilagoditev ravni dnevnikov

V appsettings.json:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "WvdS.WebAPI.Data.Gateway": "Debug"
    }
  }
}
Raven Uporaba
——-————
Trace Zelo podrobno (razvoj)
Debug Informacije za razhroščevanje
Information Normalne operacije (privzeto)
Warning Potencialne težave
Error Napake, ki so bile obravnavane
Critical Resne napake, sesutje

6. Kontrolni seznam

# Točka preverjanja V
———–
1 ERROR-vnosi pregledani
2 WARN-vnosi pregledani
3 Počasne poizvedbe zabeležene
4 Napake dokumentirane/prijavljene
5 Rotacija dnevnikov aktivna

Odpravljanje težav

Sporočilo v dnevniku Vzrok Rešitev
————-—————–
Database not found DSN ni konfiguriran Preveri appsettings.json
Connection refused Baza ni dosegljiva Preveri požarni zid/omrežje
SqlException: Login failed Napačne poverilnice Preveri geslo
OutOfMemoryException Prevelika poizvedba Nastavi omejitev $top
Timeout expired Baza počasna Optimiziraj indekse

Nastavitev rotacije dnevnikov

Serilog (appsettings.json):

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

Povezani Runbooks


« <- Health Check | -> Pregled operaterja »


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

Zuletzt geändert: dne 29.01.2026 ob 23:41