summary refs log tree commit diff
path: root/modules/foundation/monitoring.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/foundation/monitoring.nix')
-rw-r--r--modules/foundation/monitoring.nix94
1 files changed, 0 insertions, 94 deletions
diff --git a/modules/foundation/monitoring.nix b/modules/foundation/monitoring.nix
deleted file mode 100644
index 16a729d..0000000
--- a/modules/foundation/monitoring.nix
+++ /dev/null
@@ -1,94 +0,0 @@
-{ me, config, lib, ... }:
-
-let
-  inherit (lib) mkOption mkEnableOption types;
-
-  cfg = config.foundation.monitoring;
-
-  victoriaDefaultPort = 8428;
-  nodeExporterPort = 9001;
-  cadvisorExporterPort = 9002;
-  nginxExporterPort = 9113;
-  dockerExporterPort = 9323;
-in
-{
-  imports = [ ../../services/monitoring/wrapper.nix ];
-
-  options.foundation.monitoring = {
-    server = {
-      enable = mkEnableOption "monitoring server";
-
-      hosts = mkOption {
-        type = with types; listOf (submodule {
-          options = {
-            name = mkOption { type = str; };
-            ip = mkOption { type = str; };
-          };
-        });
-        default = [ ];
-      };
-    };
-
-    client = {
-      enable = mkEnableOption "monitoring client";
-    };
-  };
-
-  config = lib.mkMerge [
-    (lib.mkIf cfg.server.enable {
-      foundation.internal.monitoringService = true;
-
-      services.vmagent = {
-        enable = true;
-        remoteWrite.url = "http://${me.tailscale.ip}:${toString victoriaDefaultPort}/api/v1/write";
-
-        prometheusConfig = {
-          global = {
-            scrape_interval = "15s";
-          };
-
-          scrape_configs = let
-            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)
-          ];
-        };
-      };
-    })
-
-    (lib.mkIf (cfg.client.enable || cfg.server.enable) {
-      services = {
-        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 = {
-          enable = true;
-          port = cadvisorExporterPort;
-          listenAddress = me.tailscale.ip;
-        };
-      };
-    })
-  ];
-}