From 923638ab98c88517fbee79045d6717b0689d22cf Mon Sep 17 00:00:00 2001 From: atlas Date: Mon, 24 Aug 2026 21:23:24 +0200 Subject: [PATCH] fix(swarm-grafana): drop the Loki-only Logs Drilldown app MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit grafana-lokiexplore-app cannot query VictoriaLogs. Its volume views call /loki/api/v1/index/volume, which VictoriaLogs does not implement and answers "unsupported path requested", and upstream's position is that the datasource plugin must provide drilldown support. No configuration here changes that, so the app only ever offered a menu entry that looks like a broken feature rather than an absent one. The option's own description already ruled its siblings out for fronting backends this swarm does not run. That premise expired when the swarm gained a log store, which is what made adding this one look reasonable — so the reason is rewritten rather than the list alone: Logs Drilldown is excluded on compatibility, not on absence. Explore with the VictoriaLogs datasource is the log browser, and docs/swarm/services.md now says so where an operator looks for it. --- nix/host-modules/swarm-grafana.nix | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/nix/host-modules/swarm-grafana.nix b/nix/host-modules/swarm-grafana.nix index 93c8ff93..5de45e0f 100644 --- a/nix/host-modules/swarm-grafana.nix +++ b/nix/host-modules/swarm-grafana.nix @@ -261,21 +261,14 @@ in type = lib.types.listOf lib.types.package; default = [ pkgs.grafanaPlugins.grafana-metricsdrilldown-app - # Reading the swarm's logs needs both halves: the datasource that can - # speak LogsQL, and the browser that makes an unfamiliar log stream - # explorable without writing a query first. - # - # ⚠️ The app's plugin id is `grafana-lokiexplore-app` and its name is - # "Grafana Logs Drilldown" — Grafana renamed the product and kept the - # id. Searching nixpkgs for "logsdrilldown" finds nothing. + # Reading the swarm's logs needs the datasource that speaks LogsQL. + # Nothing is paired with it to browse them: Explore is that browser. pkgs.grafanaPlugins.victoriametrics-logs-datasource - pkgs.grafanaPlugins.grafana-lokiexplore-app ]; defaultText = lib.literalExpression '' [ pkgs.grafanaPlugins.grafana-metricsdrilldown-app pkgs.grafanaPlugins.victoriametrics-logs-datasource - pkgs.grafanaPlugins.grafana-lokiexplore-app ]''; example = lib.literalExpression "[ pkgs.grafanaPlugins.grafana-piechart-panel ]"; description = '' @@ -300,10 +293,17 @@ in Metrics Drilldown is on by default because this swarm's Grafana exists to read VictoriaMetrics, and the queryless metrics browser - is the part of that people actually reach for. Its Logs / Traces / - Profiles siblings are deliberately NOT here: they front Loki, - Tempo and Pyroscope, none of which this swarm runs, so they would - install a UI for a backend that does not answer. + is the part of that people actually reach for. + + Its Logs / Traces / Profiles siblings are deliberately NOT here, + and for two different reasons. Traces and Profiles front Tempo + and Pyroscope, which this swarm does not run — a UI for a backend + that does not answer. Logs Drilldown is the subtler one: this + swarm *does* run a log store, so that argument no longer applies + to it, but the app is Loki-only and no configuration here changes + that. Its volume views call `/loki/api/v1/index/volume`, which + VictoriaLogs does not implement and answers "unsupported path + requested". Logs are browsed through Explore instead. ''; }; };