summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsinanmohd <sinan@sinanmohd.com>2025-03-17 00:31:16 +0530
committersinanmohd <sinan@sinanmohd.com>2025-03-17 00:32:02 +0530
commitaacadd4b6cbe7df5113a91090c095cc0db5ea2ad (patch)
tree18ea8f6a6801ca4b5c82d2e28a2fd52d2de3374e
parentcf9392703c0ce468a4eb41295c01b0b491ce4de1 (diff)
kay/observability: init common exporters
-rw-r--r--os/kay/modules/dns/default.nix6
-rw-r--r--os/kay/modules/matrix/dendrite.nix1
-rw-r--r--os/kay/modules/observability/prometheus.nix39
-rw-r--r--os/kay/modules/postgresql.nix5
-rw-r--r--os/kay/modules/router.nix5
-rw-r--r--os/kay/modules/wireguard.nix6
-rw-r--r--os/kay/modules/www.nix12
7 files changed, 63 insertions, 11 deletions
diff --git a/os/kay/modules/dns/default.nix b/os/kay/modules/dns/default.nix
index 1146cc3..9e6f94b 100644
--- a/os/kay/modules/dns/default.nix
+++ b/os/kay/modules/dns/default.nix
@@ -26,6 +26,11 @@ in {
group = config.systemd.services.knot.serviceConfig.Group;
};
+ services.prometheus.exporters.knot = {
+ enable = true;
+ listenAddress = "127.0.0.1";
+ };
+
services.knot = {
enable = true;
keyFiles = [ config.sops.secrets.dns.path ];
@@ -133,5 +138,4 @@ in {
];
};
};
-
}
diff --git a/os/kay/modules/matrix/dendrite.nix b/os/kay/modules/matrix/dendrite.nix
index 2cf7d11..5e4084b 100644
--- a/os/kay/modules/matrix/dendrite.nix
+++ b/os/kay/modules/matrix/dendrite.nix
@@ -33,6 +33,7 @@ in
index_path = "/var/lib/dendrite/searchindex";
};
global = {
+ metrics.enabled = true;
server_name = domain;
private_key = "$CREDENTIALS_DIRECTORY/private_key";
trusted_third_party_id_servers = [
diff --git a/os/kay/modules/observability/prometheus.nix b/os/kay/modules/observability/prometheus.nix
index ac94ba9..2bdb37d 100644
--- a/os/kay/modules/observability/prometheus.nix
+++ b/os/kay/modules/observability/prometheus.nix
@@ -4,16 +4,35 @@
enable = true;
port = 9001;
- scrapeConfigs = [
- {
- job_name = "kay";
- static_configs = [
- {
- targets = [ "127.0.0.1:${toString config.services.prometheus.exporters.node.port}" ];
- }
- ];
- }
- ];
+ scrapeConfigs = [{
+ job_name = "kay";
+ static_configs = [
+ {
+ targets = [ "127.0.0.1:${toString config.services.prometheus.exporters.node.port}" ];
+ }
+ {
+ targets = [ "127.0.0.1:${toString config.services.prometheus.exporters.knot.port}" ];
+ }
+ {
+ targets = [ "127.0.0.1:${toString config.services.prometheus.exporters.wireguard.port}" ];
+ }
+ {
+ targets = [ "127.0.0.1:${toString config.services.prometheus.exporters.dnsmasq.port}" ];
+ }
+ {
+ targets = [ "127.0.0.1:${toString config.services.prometheus.exporters.nginx.port}" ];
+ }
+ {
+ targets = [ "127.0.0.1:${toString config.services.prometheus.exporters.nginxlog.port}" ];
+ }
+ {
+ targets = [ "127.0.0.1:${toString config.services.prometheus.exporters.postgres.port}" ];
+ }
+ {
+ targets = [ "127.0.0.1:${toString config.services.dendrite.httpPort}" ];
+ }
+ ];
+ }];
exporters = {
node = {
diff --git a/os/kay/modules/postgresql.nix b/os/kay/modules/postgresql.nix
index 6f4d126..79d0b12 100644
--- a/os/kay/modules/postgresql.nix
+++ b/os/kay/modules/postgresql.nix
@@ -14,4 +14,9 @@
settings.log_timezone = config.time.timeZone;
};
+
+ services.prometheus.exporters.postgres = {
+ enable = true;
+ listenAddress = "127.0.0.1";
+ };
}
diff --git a/os/kay/modules/router.nix b/os/kay/modules/router.nix
index daf4f63..1424b8a 100644
--- a/os/kay/modules/router.nix
+++ b/os/kay/modules/router.nix
@@ -56,4 +56,9 @@ in {
dhcp-host= "${wapMac},${wapIp}";
interface = [ lanInterface ];
};
+
+ services.prometheus.exporters.dnsmasq = {
+ enable = true;
+ listenAddress = "127.0.0.1";
+ };
}
diff --git a/os/kay/modules/wireguard.nix b/os/kay/modules/wireguard.nix
index 2ee41b6..a649d02 100644
--- a/os/kay/modules/wireguard.nix
+++ b/os/kay/modules/wireguard.nix
@@ -54,4 +54,10 @@ in {
no-dhcp-interface = wgInterface;
interface = [ wgInterface ];
};
+
+ services.prometheus.exporters.wireguard = {
+ enable = true;
+ withRemoteIp = true;
+ listenAddress = "127.0.0.1";
+ };
}
diff --git a/os/kay/modules/www.nix b/os/kay/modules/www.nix
index b62a017..2ab70aa 100644
--- a/os/kay/modules/www.nix
+++ b/os/kay/modules/www.nix
@@ -16,8 +16,20 @@ in
allowedUDPPorts = [ 443 ];
};
+ services.prometheus.exporters = {
+ nginxlog = {
+ enable = true;
+ listenAddress = "127.0.0.1";
+ };
+ nginx = {
+ enable = true;
+ listenAddress = "127.0.0.1";
+ };
+ };
+
services.nginx = {
enable = true;
+ statusPage = true;
package = pkgs.nginxQuic;
enableQuicBPF = true;