Monitoring¶
Systém EVA poskytuje live monitoring výkonu serveru prostřednictvím Prometheus a Grafana.
Health endpointy¶
| Endpoint | Určení | Odpověď |
|---|---|---|
/health |
Docker healthcheck, load balancer | Healthy / Unhealthy (text) |
/health/details |
Monitorovací systémy | JSON s detailním stavem |
Příklad /health/details¶
{
"status": "Healthy",
"checks": [
{
"name": "database",
"status": "Healthy",
"description": "PostgreSQL OK"
},
{
"name": "memory",
"status": "Healthy",
"description": "Memory usage: 245 MB / 1536 MB limit"
}
]
}
Prometheus metriky (/metrics)¶
Endpoint /metrics exportuje metriky ve formátu Prometheus (balíčky prometheus-net.AspNetCore a DotNetRuntime).
Konfigurace Prometheus scrape¶
# prometheus.yml
scrape_configs:
- job_name: 'eva-manager'
static_configs:
- targets: ['manager:8080']
metrics_path: '/metrics'
scrape_interval: 15s
- job_name: 'eva-api'
static_configs:
- targets: ['api:8080']
metrics_path: '/metrics'
scrape_interval: 15s
Grafana dashboardy¶
Doporučené importovatelné dashboardy:
| Dashboard | Grafana ID | Co zobrazuje |
|---|---|---|
| .NET Runtime Metrics | 10427 | GC, thread pool, alokace paměti |
| ASP.NET Core | 23179 | HTTP požadavky, latence, chyby |
Import dashboardu¶
- Grafana → + → Import
- Zadejte ID dashboardu (např.
10427) - Vyberte Prometheus jako data source
- Klikněte Import
Stránka Monitoring v Eva.Manager¶
📸 Screenshot: Stránka /monitoring — grafy paměti, GC generací a thread poolu s aktuálními hodnotami
Dostupná na /monitoring (pouze pro roli Admin).
Zobrazuje živé metriky sbírané přes AppMetricsService:
| Metrika | Popis |
|---|---|
| RSS paměť | Celkové využití paměti procesu (MB) |
| GC Heap | Managed paměť .NET GC (MB) |
| Gen0 / Gen1 / Gen2 GC | Počty garbage collection za generace |
| Thread pool | Aktivní a čekající vlákna |
| Health status | Celkový stav dle health check |
Metriky se automaticky obnovují každých 5 sekund.