36 lines
789 B
Nix
36 lines
789 B
Nix
{ config, lib, ... }:
|
|
let
|
|
inherit (lib) mkEnableOption mkIf;
|
|
inherit (lib.pantheon) mkPortOption;
|
|
cfg = config.server.monitoring.prometheus;
|
|
upstreamCfg = config.services.prometheus;
|
|
in
|
|
{
|
|
options.server.monitoring.prometheus = {
|
|
enable = mkEnableOption "";
|
|
port = mkPortOption 9090;
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
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;
|
|
};
|
|
};
|
|
};
|
|
}
|