From 42c35b6333fad97c48762a39c2e079c80bf7833e Mon Sep 17 00:00:00 2001 From: Mel Date: Mon, 23 Dec 2024 02:14:01 +0100 Subject: Scrape metrics from Nginx service access logs Signed-off-by: Mel --- modules/foundation/monitoring/client.nix | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'modules/foundation/monitoring/client.nix') diff --git a/modules/foundation/monitoring/client.nix b/modules/foundation/monitoring/client.nix index f3f6873..2b0bc84 100644 --- a/modules/foundation/monitoring/client.nix +++ b/modules/foundation/monitoring/client.nix @@ -1,7 +1,9 @@ { + services, listenAddress, nodeExporterPort, nginxExporterPort, + nginxLogExporterPort, cadvisorExporterPort, ... }: @@ -22,6 +24,33 @@ port = nginxExporterPort; inherit listenAddress; }; + + nginxlog = { + enable = true; + openFirewall = false; + port = nginxLogExporterPort; + inherit listenAddress; + + user = "nginx"; + group = "nginx"; + + settings.namespaces = + let + namespace = name: log: { + inherit name; + source_files = [ log ]; + parser = "json"; + metrics_override.prefix = "nginx"; + namespace_label = "vhost"; + }; + + vhost = name: (namespace name "/var/log/nginx/${name}.access.log"); + in + [ + (namespace "default" "/var/log/nginx/access.log") + ] + ++ (map vhost services); + }; }; cadvisor = { -- cgit 1.4.1