Add postgresql metrics exporter

This commit is contained in:
Charlotte 🦝 Delenk 2024-04-13 18:24:03 +01:00
parent 2d4558f7b6
commit 4738b6a5da
2 changed files with 12 additions and 2 deletions

View file

@ -1,5 +1,5 @@
{pkgs, ...}: {
containers.postgresql = {
containers.postgresql = rec {
autoStart = true;
privateNetwork = true;
hostAddress6 = "fc00::1";
@ -18,7 +18,11 @@
};
};
config = {pkgs, ...}: {
config = {
config,
pkgs,
...
}: {
services.postgresql = {
enable = true;
package = pkgs.postgresql_16;
@ -39,6 +43,10 @@
"d /persist - postgres postgres - -"
"d /backup - postgres postgres - -"
];
services.prometheus.exporters.postgres.enable = true;
networking.firewall.extraCommands = ''
ip6tables -A nixos-fw -p tcp -s _gateway -m tcp --dport ${toString config.services.prometheus.exporters.postgres.port} -m comment --comment postgres-exporter -j nixos-fw-accept
'';
};
};
systemd.tmpfiles.rules = [

View file

@ -16,5 +16,7 @@ pkgs.testers.runNixOSTest {
postgresql.wait_for_unit("container@postgresql.service")
postgresql.succeed("nixos-container run postgresql -- systemctl start postgresqlBackup.service")
postgresql.succeed("stat /persist/backup/postgresql/all.sql.zstd")
postgresql.succeed("sleep 5")
postgresql.succeed("curl -v 'http://postgresql:9187/metrics'")
'';
}