{ config, pkgs, ... }: let cfg = config.services.prometheus; in { services.prometheus = { enable = true; listenAddress = "127.0.0.1"; port = 9001; # StateDirectory must be under /var/lib. # TODO: Back up to /tank/services/metrics/prometheus scrapeConfigs = [ { job_name = "node"; static_configs = [ { targets = [ "challenger.home.feal.no:9100" "defiant.home.feal.no:9100" "dlink-feal.home.feal.no:9100" "edison.home.feal.no:9100" "mccoy.home.feal.no:9100" "scotty.home.feal.no:9100" "sulu.home.feal.no:9100" ]; } ]; } { job_name = "openwrt"; static_configs = [ { targets = ["dlink-feal.home.feal.no:9100"]; } ]; } { job_name = "snmp"; static_configs = [{ targets = [ "feal-syn1.home.feal.no" "feal-syn2.home.feal.no" ]; }]; metrics_path = "/snmp"; params.module = ["synology"]; relabel_configs = [ { source_labels = ["__address__"]; target_label = "__param_target"; } { source_labels = ["__param_target"]; target_label = "instance"; } { target_label = "__address__"; replacement = "127.0.0.1:9116"; } ]; } ]; }; }