diff --git a/hosts/oracle/default.nix b/hosts/oracle/default.nix index 9758d53..1f1d730 100644 --- a/hosts/oracle/default.nix +++ b/hosts/oracle/default.nix @@ -77,7 +77,7 @@ nixpkgs.lib.nixosSystem { ../../modules/services/jellyfin.nix ../../modules/services/nextcloud.nix ../../modules/services/transmission.nix - ../../modules/services/metrics.nix + ../../modules/services/prometheus.nix ../../modules/gaming/minecraft-server.nix ]; } diff --git a/modules/services/metrics.nix b/modules/services/netdata.nix similarity index 100% rename from modules/services/metrics.nix rename to modules/services/netdata.nix diff --git a/modules/services/prometheus.nix b/modules/services/prometheus.nix new file mode 100644 index 0000000..01ae122 --- /dev/null +++ b/modules/services/prometheus.nix @@ -0,0 +1,31 @@ +{ config, pkgs, lib, ... }: { + + options.metricsServer = lib.mkOption { + type = lib.types.str; + description = "Hostname of the Grafana server."; + default = "grafana.masu.rs"; + }; + + config = { + + services.grafana.enable = true; + services.prometheus = { + enable = true; + exporters.node.enable = true; + scrapeConfigs = [{ + job_name = "local"; + static_configs = [{ targets = [ "127.0.0.1:9100" ]; }]; + }]; + }; + + caddyRoutes = [{ + match = [{ host = [ config.metricsServer ]; }]; + handle = [{ + handler = "reverse_proxy"; + upstreams = [{ dial = "localhost:3000"; }]; + }]; + }]; + + }; + +}