grafana: Patch victoria* dashboards to use nixpkgs' version format

This commit is contained in:
SebastianStork 2025-12-30 22:00:42 +01:00
parent 797651e316
commit 9448690045
Signed by: SebastianStork
SSH key fingerprint: SHA256:tRrGdjYOwgHxpSc/wTOZQZEjxcb15P0tyXRsbAfd+2Q
3 changed files with 29 additions and 39 deletions

View file

@ -136,25 +136,39 @@ in
}; };
}; };
# https://grafana.com/grafana/dashboards/10229-victoriametrics-single-node/ # https://grafana.com/grafana/dashboards/10229-victoriametrics-single-node/
"grafana-dashboards/victoriametrics-single-node.json" = { "grafana-dashboards/victoriametrics-single-node-patched.json" = {
enable = cfg.dashboards.victoriametrics.enable; enable = cfg.dashboards.victoriametrics.enable;
source = pkgs.fetchurl { source =
pkgs.fetchurl {
name = "victoriametrics-single-node.json"; name = "victoriametrics-single-node.json";
url = "https://grafana.com/api/dashboards/10229/revisions/41/download"; url = "https://grafana.com/api/dashboards/10229/revisions/41/download";
hash = "sha256-mwtah8A2w81WZjf5bUXoTJfS1R9UX+tua2PiDrBKJCQ="; hash = "sha256-mwtah8A2w81WZjf5bUXoTJfS1R9UX+tua2PiDrBKJCQ=";
}; }
|> (
src:
pkgs.runCommand "victoriametrics-single-node-patched.json" { buildInputs = [ pkgs.gnused ]; } ''
sed 's/victoriametrics-logs-//g' ${src} > $out
''
);
}; };
# https://grafana.com/grafana/dashboards/22084-victorialogs-single-node/ # https://grafana.com/grafana/dashboards/22084-victorialogs-single-node/
"grafana-dashboards/victorialogs-single-node.json" = { "grafana-dashboards/victorialogs-single-node-patched.json" = {
enable = cfg.dashboards.victorialogs.enable; enable = cfg.dashboards.victorialogs.enable;
source = pkgs.fetchurl { source =
pkgs.fetchurl {
name = "victorialogs-single-node.json"; name = "victorialogs-single-node.json";
url = "https://grafana.com/api/dashboards/22084/revisions/8/download"; url = "https://grafana.com/api/dashboards/22084/revisions/8/download";
hash = "sha256-/a3Rbp/6oyiLBnQtGupyFZW+fIHQfkyKRRTyfofxVTM="; hash = "sha256-/a3Rbp/6oyiLBnQtGupyFZW+fIHQfkyKRRTyfofxVTM=";
}; }
|> (
src:
pkgs.runCommand "victorialogs-single-node-patched.json" { buildInputs = [ pkgs.gnused ]; } ''
sed 's/victoria-logs-//g' ${src} > $out
''
);
}; };
# https://grafana.com/grafana/dashboards/19012-crowdsec-details-per-instance/ # https://grafana.com/grafana/dashboards/19012-crowdsec-details-per-instance/
"grafana-dashboards/crowdsec-details-per-instance.json" = { "grafana-dashboards/crowdsec-details-per-instance-patched.json" = {
enable = cfg.dashboards.crowdsec.enable; enable = cfg.dashboards.crowdsec.enable;
source = source =
pkgs.fetchurl { pkgs.fetchurl {

View file

@ -1,9 +1,4 @@
{ { config, lib, ... }:
config,
pkgs,
lib,
...
}:
let let
cfg = config.custom.web-services.victorialogs; cfg = config.custom.web-services.victorialogs;
in in
@ -42,13 +37,6 @@ in
services.victorialogs = { services.victorialogs = {
enable = true; enable = true;
# The victorialogs grafana-dashboard expects the version label to have the format `victoria-logs-*`
package = pkgs.victorialogs.overrideAttrs (
_: previousAttrs: {
version = "victoria-logs-${previousAttrs.version}";
__intentionallyOverridingVersion = true;
}
);
listenAddress = "localhost:${toString cfg.port}"; listenAddress = "localhost:${toString cfg.port}";
}; };

View file

@ -1,9 +1,4 @@
{ { config, lib, ... }:
config,
pkgs,
lib,
...
}:
let let
cfg = config.custom.web-services.victoriametrics; cfg = config.custom.web-services.victoriametrics;
in in
@ -42,13 +37,6 @@ in
services.victoriametrics = { services.victoriametrics = {
enable = true; enable = true;
# The victoriametrics grafana-dashboard expects the version label to have the format `victoria-metrics-*`
package = pkgs.victoriametrics.overrideAttrs (
_: previousAttrs: {
version = "victoria-metrics-${previousAttrs.version}";
__intentionallyOverridingVersion = true;
}
);
listenAddress = "localhost:${toString cfg.port}"; listenAddress = "localhost:${toString cfg.port}";
extraOptions = [ extraOptions = [
"-selfScrapeInterval=15s" "-selfScrapeInterval=15s"