diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 70a346a..85925b1 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -29,8 +29,8 @@ ./programs/prosody.nix ./programs/yggdrasil.nix - ./programs/grafana.nix - ./programs/prometheus.nix + ./monitoring/grafana.nix + ./monitoring/prometheus.nix ]; nix = { diff --git a/nixos/databases/postgres.nix b/nixos/databases/postgres.nix index 233641c..47fbe98 100644 --- a/nixos/databases/postgres.nix +++ b/nixos/databases/postgres.nix @@ -13,6 +13,7 @@ "freshrss" "prosody" "grafana" + "postgres-exporter" ]; ensureUsers = [ { @@ -60,6 +61,11 @@ ensureDBOwnership = true; ensureClauses.login = true; } + { + name = "postgres-exporter"; + ensureDBOwnership = true; + ensureClauses.login = true; + } ]; identMap = '' # ArbitraryMapName systemUser DBUser diff --git a/nixos/programs/grafana.nix b/nixos/monitoring/grafana.nix similarity index 100% rename from nixos/programs/grafana.nix rename to nixos/monitoring/grafana.nix diff --git a/nixos/programs/prometheus.nix b/nixos/monitoring/prometheus.nix similarity index 62% rename from nixos/programs/prometheus.nix rename to nixos/monitoring/prometheus.nix index 15fbfb7..1eac4dd 100644 --- a/nixos/programs/prometheus.nix +++ b/nixos/monitoring/prometheus.nix @@ -9,6 +9,11 @@ enabledCollectors = [ "systemd" ]; port = 55012; }; + postgres = { + enable = true; + port = 55014; + dataSourceName = "user=postgres-exporter database=postgres-exporter host=/run/postgresql sslmode=disable"; + }; }; scrapeConfigs = [ @@ -25,6 +30,12 @@ targets = [ "127.0.0.1:55013" ]; }]; } + { + job_name = "postgres"; + static_configs = [{ + targets = [ "127.0.0.1:${toString config.services.prometheus.exporters.postgres.port}" ]; + }]; + } ]; }; }