configuration.nix/hosts/shared/prometheus-exporters.nix

48 lines
1.3 KiB
Nix
Raw Normal View History

2024-09-14 19:36:59 +05:30
{ lib, config, ... }:
let
inherit (import ./caddy-helpers.nix) logFormat;
in
{
2024-07-18 22:03:46 +05:30
services = {
2024-09-14 19:36:59 +05:30
caddy =
let
vHost = "${config.networking.hostName}.labs.adtya.xyz";
in
{
virtualHosts."${vHost}" = {
logFormat = logFormat vHost;
extraConfig = ''
metrics /caddy-metrics
handle /metrics {
reverse_proxy 127.0.0.1:9100
}
handle /systemd-metrics {
uri replace /systemd-metrics /metrics
reverse_proxy 127.0.0.1:9558
}
${lib.optionalString config.services.prometheus.exporters.postgres.enable ''
handle /postgres-metrics {
uri replace /postgres-metrics /metrics
reverse_proxy ${config.services.prometheus.exporters.postgres.listenAddress}:${toString config.services.prometheus.exporters.postgres.port}
}
''}
'';
};
2024-07-18 22:03:46 +05:30
};
2024-07-18 23:00:17 +05:30
prometheus.exporters = {
node = {
enable = true;
listenAddress = "127.0.0.1";
port = 9100;
enabledCollectors = [ "systemd" "processes" ];
2024-07-18 23:00:17 +05:30
};
systemd = {
enable = true;
listenAddress = "127.0.0.1";
port = 9558;
};
2024-07-18 22:03:46 +05:30
};
};
}