summary refs log tree commit diff
path: root/modules/foundation/monitoring/server.nix
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2025-01-06 01:32:43 +0100
committerMel <einebeere@gmail.com>2025-01-06 01:32:53 +0100
commitc8959b4a817f5ece4b7ba451137e8fbd5e20de88 (patch)
treeee4da491e9a3c56aa6361bff1c34838315ec4321 /modules/foundation/monitoring/server.nix
parent52898b111a13973517c98a7cfec67c251a168759 (diff)
downloadnetwork-c8959b4a817f5ece4b7ba451137e8fbd5e20de88.tar.zst
network-c8959b4a817f5ece4b7ba451137e8fbd5e20de88.zip
Add Prometheus exporter for dnsmasq
Signed-off-by: Mel <einebeere@gmail.com>
Diffstat (limited to 'modules/foundation/monitoring/server.nix')
-rw-r--r--modules/foundation/monitoring/server.nix17
1 files changed, 11 insertions, 6 deletions
diff --git a/modules/foundation/monitoring/server.nix b/modules/foundation/monitoring/server.nix
index 1d1afb3..c4ce4c2 100644
--- a/modules/foundation/monitoring/server.nix
+++ b/modules/foundation/monitoring/server.nix
@@ -6,6 +6,7 @@
   cadvisorExporterPort,
   nginxExporterPort,
   nginxLogExporterPort,
+  dnsmasqExporterPort,
   ...
 }:
 
@@ -23,7 +24,7 @@
 
       scrape_configs =
         let
-          exporter = job: ports: {
+          exporter = job: ports: filter: {
             job_name = job;
             static_configs = map (
               { name, ip }:
@@ -33,17 +34,21 @@
                   instance = name;
                 };
               }
-            ) hosts;
+              ) (builtins.filter filter hosts);
           };
+
+          all = x: true;
+          is = name: host: host.name == name;
         in
         [
-          (exporter "node" [ nodeExporterPort ])
-          (exporter "docker" [ dockerExporterPort ])
-          (exporter "cadvisor" [ cadvisorExporterPort ])
+          (exporter "node" [ nodeExporterPort ] all)
+          (exporter "docker" [ dockerExporterPort ] all)
+          (exporter "cadvisor" [ cadvisorExporterPort ] all)
           (exporter "nginx" [
             nginxExporterPort
             nginxLogExporterPort
-          ])
+          ] all)
+          (exporter "dnsmasq" [ dnsmasqExporterPort ] (is "corsac"))
         ];
     };
   };