diff options
| author | Mel <einebeere@gmail.com> | 2024-12-23 02:14:01 +0100 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2024-12-23 02:14:01 +0100 |
| commit | 42c35b6333fad97c48762a39c2e079c80bf7833e (patch) | |
| tree | cb8bdc877f17b130e06ecbcd980e371954875820 /modules/foundation/monitoring/client.nix | |
| parent | 778e23735053e935c3af00490561fe65b8c7d02c (diff) | |
| download | network-42c35b6333fad97c48762a39c2e079c80bf7833e.tar.zst network-42c35b6333fad97c48762a39c2e079c80bf7833e.zip | |
Scrape metrics from Nginx service access logs
Signed-off-by: Mel <einebeere@gmail.com>
Diffstat (limited to 'modules/foundation/monitoring/client.nix')
| -rw-r--r-- | modules/foundation/monitoring/client.nix | 29 |
1 files changed, 29 insertions, 0 deletions
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 = { |
