Inhaltsverzeichnis
Runbook: Provjera logova
Trajanje: ~10 minuta
Uloga: Gateway-Operator
Ucestalost: Dnevno / Kod problema
Analiza Gateway logova za dijagnozu gresaka i monitoring.
Tijek rada
flowchart TD
A[Logove otvoriti] --> B[Filtrirati po ERROR]
B --> C{Greska pronadena?}
C -->|Da| D[Gresku analizirati]
C -->|Ne| E[Filtrirati po WARN]
D --> F[Poduzeti mjere]
E --> G{Upozorenja?}
G -->|Da| H[Dokumentirati]
G -->|Ne| I[OK - Gotovo]
F --> I
H --> I
style I fill:#e8f5e9
style D fill:#ffebee
style H fill:#fff3e0
1. Lokacije logova
| Platforma | Put |
| ———– | —— |
| Windows (Konzola) | Konzolni izlaz |
| Windows (Service) | %GATEWAY_ROOT%\logs\ ili Event Log |
| Linux (systemd) | journalctl -u data-gateway |
| Docker | docker logs gateway |
2. Posljednje logove prikazati
Windows (Datoteka):
# Zadnjih 50 linija 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):
# Zadnjih 100 linija journalctl -u data-gateway -n 100 --no-pager # Live-Tail journalctl -u data-gateway -f
Docker:
# Zadnjih 100 linija docker logs --tail 100 gateway # Live-Tail docker logs -f gateway
3. Filtrirati po greskama
Windows:
# ERROR unosi Select-String -Path "%GATEWAY_ROOT%\logs\*.log" -Pattern "ERROR|Exception" # Danas Get-Content "%GATEWAY_ROOT%\logs\gateway.log" | Where-Object { $_ -match "ERROR" -and $_ -match (Get-Date -Format "yyyy-MM-dd") }
Linux:
# ERROR unosi journalctl -u data-gateway --since today | grep -E "ERROR|Exception" # Ili u datoteci grep -E "ERROR|Exception" /var/log/gateway/gateway.log
4. Cesti log uzorci
Uspjesan zahtjev:
[INFO] GET /api/v1/dsn/demo/tables 200 45ms
Greska:
[ERROR] GET /api/v1/dsn/invalid/tables 404 Database 'invalid' not found [ERROR] POST /api/v1/dsn/demo/query 500 SqlException: Invalid syntax
Upozorenje:
[WARN] Slow query detected: 2340ms for GET /api/v1/dsn/produktion/tables/BigTable
5. Log-Level prilagoditi
U appsettings.json:
{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "WvdS.WebAPI.Data.Gateway": "Debug" } } }
| Level | Upotreba |
| ——- | ———— |
Trace | Vrlo detaljno (Razvoj) |
Debug | Debugging informacije |
Information | Normalne operacije (Standard) |
Warning | Potencijalni problemi |
Error | Greske koje su obradene |
Critical | Teske greske, pad |
6. Kontrolna lista
| # | Provjera | Da/Ne |
| — | ———– | — |
| 1 | ERROR unosi pregledani | - |
| 2 | WARN unosi pregledani | - |
| 3 | Slow Queries zabilježeni | - |
| 4 | Greske dokumentirane/prijavljene | - |
| 5 | Log-Rotation aktivna | - |
Rjesavanje problema
| Log poruka | Uzrok | Rjesenje |
| ————- | ——— | ——– |
Database not found | DSN nije konfigurirana | appsettings.json provjeriti |
Connection refused | DB nije dostupna | Firewall/Mrezu provjeriti |
SqlException: Login failed | Pogresni Credentiali | Lozinku provjeriti |
OutOfMemoryException | Preveliki upit | $top Limit postaviti |
Timeout expired | DB prespora | Index optimizirati |
Log-Rotation postaviti
Serilog (appsettings.json):
{ "Serilog": { "WriteTo": [ { "Name": "File", "Args": { "path": "logs/gateway-.log", "rollingInterval": "Day", "retainedFileCountLimit": 30 } } ] } }
Povezani runbookovi
- Health Check - Provjera dostupnosti
- Server pokrenuti - Kod pada
- Alerting - Automatske obavijesti
« <- Health Check | -> Operator pregled »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Data Gateway Professional
Zuletzt geändert: 29.01.2026. u 23:43