aboutsummaryrefslogtreecommitdiff
path: root/lib/monitoring/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'lib/monitoring/default.nix')
-rw-r--r--lib/monitoring/default.nix20
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}";
+ }];
+}