From c151f31011876f7cf9f52fe945647b0d3eb04287 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torjus=20H=C3=A5kestad?= Date: Mon, 16 Feb 2026 20:03:26 +0100 Subject: [PATCH] grafana: fix apiary dashboard panels empty on short time ranges Set interval=60s on rate() panels to match the actual Prometheus scrape interval, so Grafana calculates $__rate_interval correctly. Co-Authored-By: Claude Opus 4.6 --- services/grafana/dashboards/apiary.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/services/grafana/dashboards/apiary.json b/services/grafana/dashboards/apiary.json index b53070b..6fa4297 100644 --- a/services/grafana/dashboards/apiary.json +++ b/services/grafana/dashboards/apiary.json @@ -151,6 +151,7 @@ "type": "timeseries", "gridPos": {"h": 8, "w": 12, "x": 0, "y": 4}, "datasource": {"type": "prometheus", "uid": "prometheus"}, + "interval": "60s", "targets": [ { "expr": "rate(oubliette_ssh_connections_total{job=\"apiary\"}[$__rate_interval])", @@ -183,6 +184,7 @@ "type": "timeseries", "gridPos": {"h": 8, "w": 12, "x": 12, "y": 4}, "datasource": {"type": "prometheus", "uid": "prometheus"}, + "interval": "60s", "targets": [ { "expr": "rate(oubliette_auth_attempts_total{job=\"apiary\"}[$__rate_interval])", @@ -215,6 +217,7 @@ "type": "timeseries", "gridPos": {"h": 8, "w": 12, "x": 0, "y": 22}, "datasource": {"type": "prometheus", "uid": "prometheus"}, + "interval": "60s", "targets": [ { "expr": "rate(oubliette_sessions_total{job=\"apiary\"}[$__rate_interval])", @@ -316,6 +319,7 @@ "type": "heatmap", "gridPos": {"h": 8, "w": 24, "x": 0, "y": 30}, "datasource": {"type": "prometheus", "uid": "prometheus"}, + "interval": "60s", "targets": [ { "expr": "rate(oubliette_session_duration_seconds_bucket{job=\"apiary\"}[$__rate_interval])", @@ -356,6 +360,7 @@ "type": "timeseries", "gridPos": {"h": 8, "w": 12, "x": 12, "y": 22}, "datasource": {"type": "prometheus", "uid": "prometheus"}, + "interval": "60s", "targets": [ { "expr": "rate(oubliette_commands_executed_total{job=\"apiary\"}[$__rate_interval])",