diff --git a/morph/lib/monitoring.nix b/morph/lib/monitoring.nix index 7107e5b7c526dec1c54bbae20e8a5bb233c75526..30d6437f49e5d7f0ce1422bae00c5e0b40d2a1dc 100644 --- a/morph/lib/monitoring.nix +++ b/morph/lib/monitoring.nix @@ -152,6 +152,7 @@ in { inherit nodeExporterTargets; inherit (cfg) paymentExporterTargets blackboxExporterHttpsTargets; nginxExporterTargets = []; + lokiExporterTargets = []; }; services.private-storage.monitoring.grafana = { diff --git a/nixos/modules/monitoring/server/prometheus.nix b/nixos/modules/monitoring/server/prometheus.nix index 2a78dd3e797c0b28d14fc9e9e0858811ac86ef76..52a57fd960ea764ef9adfefd0d6c50dddd88ce1f 100644 --- a/nixos/modules/monitoring/server/prometheus.nix +++ b/nixos/modules/monitoring/server/prometheus.nix @@ -26,6 +26,11 @@ in { example = [ "node1" "node2" ]; description = "List of nodes (hostnames or IPs) to scrape."; }; + lokiExporterTargets = lib.mkOption { + type = with lib.types; listOf str; + example = [ "node1" "node2" ]; + description = "List of nodes (hostnames or IPs) to scrape."; + }; paymentExporterTargets = lib.mkOption { type = with lib.types; listOf str; example = [ "node1" "node2" ]; @@ -59,6 +64,13 @@ in { }]; relabel_configs = [ dropPortNumber ]; } + { + job_name = "loki-exporters"; + static_configs = [{ + targets = map (x: x + ":" + (toString exportersCfg.loki.port)) cfg.lokiExporterTargets; + }]; + relabel_configs = [ dropPortNumber ]; + } { job_name = "payment-exporters"; scheme = "https";