aboutsummaryrefslogtreecommitdiff
path: root/hosts
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2022-02-28 19:13:31 -0800
committerFranck Cuny <franck@fcuny.net>2022-02-28 19:14:30 -0800
commitea50f9d68c48415883a9f9cb2e014526bb4236ff (patch)
treee62bae9b116376dbeb28ca6b51f67d3903fe7f2e /hosts
parentusers: change my ssh key for the laptop (diff)
downloadinfra-ea50f9d68c48415883a9f9cb2e014526bb4236ff.tar.gz
prometheus: initial configuration for the server
Run prometheus via systemd, and configure to pull node-exporter's metrics from two hosts. The retention is set for 3 years.
Diffstat (limited to 'hosts')
-rw-r--r--hosts/common/nas.nix1
-rw-r--r--hosts/common/server/prometheus.nix29
2 files changed, 30 insertions, 0 deletions
diff --git a/hosts/common/nas.nix b/hosts/common/nas.nix
index 3f38792..8ab11a8 100644
--- a/hosts/common/nas.nix
+++ b/hosts/common/nas.nix
@@ -4,5 +4,6 @@
imports = [
./server/default.nix
./server/samba.nix
+ ./server/prometheus.nix
];
}
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"
+ ])
+ ];
+ };
+}