about summary refs log tree commit diff
path: root/hosts/common/server/prometheus.nix
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/common/server/prometheus.nix')
-rw-r--r--hosts/common/server/prometheus.nix29
1 files changed, 29 insertions, 0 deletions
diff --git a/hosts/common/server/prometheus.nix b/hosts/common/server/prometheus.nix
new file mode 100644
index 0000000..1c7c906
--- /dev/null
+++ b/hosts/common/server/prometheus.nix
@@ -0,0 +1,29 @@
+{ config, pkgs, lib, ... }:
+
+let
+  # Scrape a list of static targets for a job.
+  staticScrape = (job_name: targets: {
+    inherit job_name;
+    static_configs = [{ inherit targets; }];
+  });
+in
+{
+  services.prometheus = {
+    enable = true;
+
+    globalConfig.scrape_interval = "15s";
+
+    extraFlags = [
+      # 3 years of retention
+      "--storage.tsdb.retention=1095d"
+      "--web.enable-admin-api"
+    ];
+
+    scrapeConfigs = [
+      (staticScrape "node" [
+        "rtr:9100"
+        "tahoe:9100"
+      ])
+    ];
+  };
+}