diff options
| author | Mel <einebeere@gmail.com> | 2025-01-06 01:32:43 +0100 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2025-01-06 01:32:53 +0100 |
| commit | c8959b4a817f5ece4b7ba451137e8fbd5e20de88 (patch) | |
| tree | ee4da491e9a3c56aa6361bff1c34838315ec4321 /modules | |
| parent | 52898b111a13973517c98a7cfec67c251a168759 (diff) | |
| download | network-c8959b4a817f5ece4b7ba451137e8fbd5e20de88.tar.zst network-c8959b4a817f5ece4b7ba451137e8fbd5e20de88.zip | |
Add Prometheus exporter for dnsmasq
Signed-off-by: Mel <einebeere@gmail.com>
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/dns.nix | 2 | ||||
| -rw-r--r-- | modules/foundation/monitoring/client.nix | 10 | ||||
| -rw-r--r-- | modules/foundation/monitoring/default.nix | 2 | ||||
| -rw-r--r-- | modules/foundation/monitoring/server.nix | 17 |
4 files changed, 24 insertions, 7 deletions
diff --git a/modules/dns.nix b/modules/dns.nix index 63bb13c..235411d 100644 --- a/modules/dns.nix +++ b/modules/dns.nix @@ -36,7 +36,7 @@ in conf-file = "${oisd}/dnsmasq2_big.txt"; - log-queries = true; + log-queries = "extra"; }; }; } diff --git a/modules/foundation/monitoring/client.nix b/modules/foundation/monitoring/client.nix index 2b0bc84..9881f93 100644 --- a/modules/foundation/monitoring/client.nix +++ b/modules/foundation/monitoring/client.nix @@ -1,10 +1,14 @@ { + lib, + config, + services, listenAddress, nodeExporterPort, nginxExporterPort, nginxLogExporterPort, cadvisorExporterPort, + dnsmasqExporterPort, ... }: @@ -51,6 +55,12 @@ ] ++ (map vhost services); }; + + dnsmasq = lib.mkIf config.services.dnsmasq.enable { + enable = true; + port = dnsmasqExporterPort; + inherit listenAddress; + }; }; cadvisor = { diff --git a/modules/foundation/monitoring/default.nix b/modules/foundation/monitoring/default.nix index 2489948..d9bb8fc 100644 --- a/modules/foundation/monitoring/default.nix +++ b/modules/foundation/monitoring/default.nix @@ -17,6 +17,7 @@ let nginxExporterPort = 9113; nginxLogExporterPort = 9117; dockerExporterPort = 9323; + dnsmasqExporterPort = 9153; }; serverConfiguration = import ./server.nix ( @@ -29,6 +30,7 @@ let clientConfiguration = import ./client.nix ( { + inherit config lib; services = cfg.services; listenAddress = me.tailscale.ip; } 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")) ]; }; }; |
