diff options
| author | Mel <einebeere@gmail.com> | 2024-12-22 00:10:16 +0100 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2024-12-22 00:10:16 +0100 |
| commit | 6163fa5b5926dd4a456b9fd07e05f9ec1f49d613 (patch) | |
| tree | 66d37db95ffc93a8e5e10242109d5bf86d09f622 | |
| parent | 670521df7a1e5ab7222df6af0698ec798413962a (diff) | |
| download | network-6163fa5b5926dd4a456b9fd07e05f9ec1f49d613.tar.zst network-6163fa5b5926dd4a456b9fd07e05f9ec1f49d613.zip | |
Collect Nginx metrics
Signed-off-by: Mel <einebeere@gmail.com>
| -rw-r--r-- | modules/foundation/monitoring.nix | 53 | ||||
| -rw-r--r-- | modules/www.nix | 4 |
2 files changed, 29 insertions, 28 deletions
diff --git a/modules/foundation/monitoring.nix b/modules/foundation/monitoring.nix index b8af232..16a729d 100644 --- a/modules/foundation/monitoring.nix +++ b/modules/foundation/monitoring.nix @@ -8,6 +8,7 @@ let victoriaDefaultPort = 8428; nodeExporterPort = 9001; cadvisorExporterPort = 9002; + nginxExporterPort = 9113; dockerExporterPort = 9323; in { @@ -47,29 +48,18 @@ in }; scrape_configs = let - everyHost = f: map f cfg.server.hosts; - in [ - { - job_name = "node"; - static_configs = everyHost ({ name, ip }: { - targets = [ "${ip}:${toString nodeExporterPort}" ]; - labels = { instance = name; }; - }); - } - { - job_name = "docker"; - static_configs = everyHost ({ name, ip }: { - targets = [ "${ip}:${toString dockerExporterPort}" ]; - labels = { instance = name; }; - }); - } - { - job_name = "cadvisor"; - static_configs = everyHost ({ name, ip }: { - targets = [ "${ip}:${toString cadvisorExporterPort}" ]; + exporter = job: port: { + job_name = job; + static_configs = map ({ name, ip }: { + targets = [ "${ip}:${toString port}" ]; labels = { instance = name; }; - }); - } + }) cfg.server.hosts; + }; + in [ + (exporter "node" nodeExporterPort) + (exporter "docker" dockerExporterPort) + (exporter "cadvisor" cadvisorExporterPort) + (exporter "nginx" nginxExporterPort) ]; }; }; @@ -77,11 +67,20 @@ in (lib.mkIf (cfg.client.enable || cfg.server.enable) { services = { - prometheus.exporters.node = { - enable = true; - openFirewall = false; - listenAddress = me.tailscale.ip; - port = nodeExporterPort; + prometheus.exporters = { + node = { + enable = true; + openFirewall = false; + listenAddress = me.tailscale.ip; + port = nodeExporterPort; + }; + + nginx = { + enable = true; + openFirewall = false; + listenAddress = me.tailscale.ip; + port = nginxExporterPort; + }; }; cadvisor = { diff --git a/modules/www.nix b/modules/www.nix index 33b0053..a1c2b55 100644 --- a/modules/www.nix +++ b/modules/www.nix @@ -18,7 +18,9 @@ in recommendedOptimisation = true; recommendedProxySettings = true; recommendedTlsSettings = true; - + + statusPage = true; + virtualHosts = { default = { default = true; }; ${rnrdUrl} = { |
