Files
stack/infra/grafana/dashboards/gateway-auth.json
2026-05-01 11:39:12 -04:00

17 lines
1.5 KiB
JSON

{
"title": "Gateway & Auth",
"uid": "gateway-auth",
"tags": ["homelab", "stack"],
"timezone": "browser",
"schemaVersion": 39,
"time": {"from": "now-6h", "to": "now"},
"refresh": "30s",
"panels": [
{"id": 1, "title": "Traefik request rate by status", "type": "timeseries", "gridPos": {"x": 0, "y": 0, "w": 12, "h": 8}, "datasource": {"uid": "prometheus"}, "targets": [{"expr": "sum by (code) (rate(traefik_service_requests_total[1m]))"}]},
{"id": 2, "title": "Traefik latency p95 (s)", "type": "timeseries", "gridPos": {"x": 12, "y": 0, "w": 12, "h": 8}, "datasource": {"uid": "prometheus"}, "targets": [{"expr": "histogram_quantile(0.95, sum by (le) (rate(traefik_service_request_duration_seconds_bucket[5m])))"}]},
{"id": 3, "title": "oauth2-proxy auth events", "type": "timeseries", "gridPos": {"x": 0, "y": 8, "w": 12, "h": 8}, "datasource": {"uid": "loki"}, "targets": [{"expr": "sum by (oauth_event) (rate({container=\"oauth2-proxy\"} | json [1m]))"}]},
{"id": 4, "title": "Gitea login + push events", "type": "timeseries", "gridPos": {"x": 12, "y": 8, "w": 12, "h": 8}, "datasource": {"uid": "loki"}, "targets": [{"expr": "sum by (gitea_event) (rate({container=\"git\"} | regexp `(?P<gitea_event>login|push|webhook)` [1m]))"}]},
{"id": 5, "title": "Failed auth tail", "type": "logs", "gridPos": {"x": 0, "y": 16, "w": 24, "h": 8}, "datasource": {"uid": "loki"}, "targets": [{"expr": "{container=~\"oauth2-proxy|git\"} |~ \"(?i)(failure|forbidden|401|403)\""}]}
]
}