dotfiles.nix/nixos/viridian/services/prometheus.nix

34 lines
803 B
Nix

{ config, ... }:
{
services.prometheus = {
enable = true;
port = 9001; # Port to listen on.
# Valid in all configuration contexts, defaults for other configuration sections.
globalConfig = {
scrape_interval = "15s";
};
# Collect specific metrics, format them, and expose them through HTTP endpoints for prometheus to scrape.
exporters = {
node = {
enable = true;
enabledCollectors = [ "systemd" "processes" ];
port = 9100;
};
};
# Specify a set of targets and parameters describing how to scrape them.
scrapeConfigs = [
{
job_name = "node";
static_configs = [{
targets = [ "127.0.0.1:${toString config.services.prometheus.exporters.node.port}" ];
}];
}
];
};
}