summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/dns.nix2
-rw-r--r--modules/foundation/monitoring/client.nix10
-rw-r--r--modules/foundation/monitoring/default.nix2
-rw-r--r--modules/foundation/monitoring/server.nix17
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"))
];
};
};