summaryrefslogtreecommitdiff
path: root/modules/foundation
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2024-12-22 00:10:16 +0100
committerMel <einebeere@gmail.com>2024-12-22 00:10:16 +0100
commit6163fa5b5926dd4a456b9fd07e05f9ec1f49d613 (patch)
tree66d37db95ffc93a8e5e10242109d5bf86d09f622 /modules/foundation
parent670521df7a1e5ab7222df6af0698ec798413962a (diff)
downloadnetwork-6163fa5b5926dd4a456b9fd07e05f9ec1f49d613.tar.zst
network-6163fa5b5926dd4a456b9fd07e05f9ec1f49d613.zip
Collect Nginx metrics
Signed-off-by: Mel <einebeere@gmail.com>
Diffstat (limited to 'modules/foundation')
-rw-r--r--modules/foundation/monitoring.nix53
1 files changed, 26 insertions, 27 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 = {