From 6163fa5b5926dd4a456b9fd07e05f9ec1f49d613 Mon Sep 17 00:00:00 2001 From: Mel Date: Sun, 22 Dec 2024 00:10:16 +0100 Subject: Collect Nginx metrics Signed-off-by: Mel --- modules/foundation/monitoring.nix | 53 +++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 27 deletions(-) (limited to 'modules/foundation') diff --git a/modules/foundation/monitoring.nix b/modules/foundation/monitoring.nix index b8af232..16a729d 100644 --- a/modules/foundation/monitoring.nix +++ b/modules/foundation/monitoring.nix @@ -8,6 +8,7 @@ let victoriaDefaultPort = 8428; nodeExporterPort = 9001; cadvisorExporterPort = 9002; + nginxExporterPort = 9113; dockerExporterPort = 9323; in { @@ -47,29 +48,18 @@ in }; scrape_configs = let - everyHost = f: map f cfg.server.hosts; - in [ - { - job_name = "node"; - static_configs = everyHost ({ name, ip }: { - targets = [ "${ip}:${toString nodeExporterPort}" ]; - labels = { instance = name; }; - }); - } - { - job_name = "docker"; - static_configs = everyHost ({ name, ip }: { - targets = [ "${ip}:${toString dockerExporterPort}" ]; - labels = { instance = name; }; - }); - } - { - job_name = "cadvisor"; - static_configs = everyHost ({ name, ip }: { - targets = [ "${ip}:${toString cadvisorExporterPort}" ]; + exporter = job: port: { + job_name = job; + static_configs = map ({ name, ip }: { + targets = [ "${ip}:${toString port}" ]; labels = { instance = name; }; - }); - } + }) cfg.server.hosts; + }; + in [ + (exporter "node" nodeExporterPort) + (exporter "docker" dockerExporterPort) + (exporter "cadvisor" cadvisorExporterPort) + (exporter "nginx" nginxExporterPort) ]; }; }; @@ -77,11 +67,20 @@ in (lib.mkIf (cfg.client.enable || cfg.server.enable) { services = { - prometheus.exporters.node = { - enable = true; - openFirewall = false; - listenAddress = me.tailscale.ip; - port = nodeExporterPort; + prometheus.exporters = { + node = { + enable = true; + openFirewall = false; + listenAddress = me.tailscale.ip; + port = nodeExporterPort; + }; + + nginx = { + enable = true; + openFirewall = false; + listenAddress = me.tailscale.ip; + port = nginxExporterPort; + }; }; cadvisor = { -- cgit 1.4.1