diff --git a/modules/nixos/server/monitoring/grafana/default.nix b/modules/nixos/server/monitoring/grafana/default.nix index 5252c74..e975592 100644 --- a/modules/nixos/server/monitoring/grafana/default.nix +++ b/modules/nixos/server/monitoring/grafana/default.nix @@ -19,7 +19,6 @@ in extraConfig.proxyWebsockets = true; locations."/api/live/" = { proxyPass = "http://${config.system.hostname}:${builtins.toString cfg.port}"; - proxyWebsockets = true; }; }); services.grafana = { @@ -29,6 +28,13 @@ in http_port = cfg.port; http_addr = "0.0.0.0"; }; + provision.datasources.settings.datasources = [ + { + name = "prometheus"; + type = "Prometheus"; + url = "http://${config.system.hostname}:${builtins.toString config.server.monitoring.prometheus.port}"; + } + ]; }; }; } diff --git a/modules/nixos/server/monitoring/prometheus/default.nix b/modules/nixos/server/monitoring/prometheus/default.nix index 71c60c3..9b4294e 100644 --- a/modules/nixos/server/monitoring/prometheus/default.nix +++ b/modules/nixos/server/monitoring/prometheus/default.nix @@ -3,6 +3,7 @@ let inherit (lib) mkEnableOption mkIf; inherit (lib.pantheon) mkPortOption; cfg = config.server.monitoring.prometheus; + upstreamCfg = config.services.prometheus; in { options.server.monitoring.prometheus = { @@ -14,6 +15,22 @@ in services.prometheus = { enable = true; inherit (cfg) port; + scrapeConfigs = [ + { + job_name = "chrysalis"; + static_configs = [ + { + targets = [ "127.0.0.1:${toString upstreamCfg.exporters.node.port}" ]; + } + ]; + } + ]; + + exporters.node = { + enable = true; + enabledCollectors = [ "systemd" ]; + port = 9091; + }; }; }; }