From f97ab24f47539952bb4350028484a466fe4ce06d Mon Sep 17 00:00:00 2001 From: arcnmx Date: Fri, 31 May 2024 16:56:54 -0700 Subject: [PATCH] feat(monitoring): customize metrics ingest path --- modules/nixos/monitoring/ingest/prometheus.nix | 11 ++++++++--- modules/system/exports/monitoring.nix | 5 ++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/modules/nixos/monitoring/ingest/prometheus.nix b/modules/nixos/monitoring/ingest/prometheus.nix index 7936f8b4..809618b8 100644 --- a/modules/nixos/monitoring/ingest/prometheus.nix +++ b/modules/nixos/monitoring/ingest/prometheus.nix @@ -5,8 +5,8 @@ ... }: let inherit (gensokyo-zone) systems; - inherit (gensokyo-zone.lib) mkAddress6; - inherit (lib.modules) mkDefault; + inherit (gensokyo-zone.lib) mkAddress6 mapOptionDefaults; + inherit (lib.modules) mkIf mkMerge mkDefault mkOptionDefault; inherit (lib.attrsets) attrValues; inherit (lib.lists) filter concatMap; nodeExporterSystems = @@ -35,7 +35,12 @@ static_configs = [ { inherit targets; - labels = mkDefault service.prometheus.exporter.labels; + labels = mkMerge [ + (mapOptionDefaults service.prometheus.exporter.labels) + (mkIf (service.prometheus.exporter.metricsPath != "/metrics") { + __metrics_path__ = mkOptionDefault service.prometheus.exporter.metricsPath; + }) + ]; } ]; }; diff --git a/modules/system/exports/monitoring.nix b/modules/system/exports/monitoring.nix index f7d23598..c03d9716 100644 --- a/modules/system/exports/monitoring.nix +++ b/modules/system/exports/monitoring.nix @@ -28,6 +28,10 @@ let labels = mkOption { type = attrsOf str; }; + metricsPath = mkOption { + type = str; + default = "/metrics"; + }; }; }; ports = mkOption { @@ -183,7 +187,6 @@ in }; }; promtail = {config, ...}: { - id = mkAlmostOptionDefault "promtail"; nixos = { serviceAttr = "promtail"; assertions = mkIf config.enable [