{ 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}" ]; }]; } ]; }; }