diff options
Diffstat (limited to 'lib/monitoring/default.nix')
| -rw-r--r-- | lib/monitoring/default.nix | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/monitoring/default.nix b/lib/monitoring/default.nix new file mode 100644 index 0000000..2c7c3cf --- /dev/null +++ b/lib/monitoring/default.nix @@ -0,0 +1,20 @@ +{ config, lib }: + +rec { + mkTarget = host: port: { + targets = [ "${host}:${toString port}" ]; + }; + + mkScrapeConfig = name: hosts: port: { + job_name = name; + static_configs = map (host: mkTarget host port) hosts; + relabel_configs = relabelConfig; + }; + + relabelConfig = [{ + source_labels = ["__address__"]; + target_label = "host"; + regex = "([^:]+)(:[0-9]+)?"; + replacement = "\${1}"; + }]; +} |
