diff options
author | Franck Cuny <franck@fcuny.net> | 2022-02-28 19:13:31 -0800 |
---|---|---|
committer | Franck Cuny <franck@fcuny.net> | 2022-02-28 19:14:30 -0800 |
commit | ea50f9d68c48415883a9f9cb2e014526bb4236ff (patch) | |
tree | e62bae9b116376dbeb28ca6b51f67d3903fe7f2e | |
parent | users: change my ssh key for the laptop (diff) | |
download | world-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.
-rw-r--r-- | hosts/common/nas.nix | 1 | ||||
-rw-r--r-- | hosts/common/server/prometheus.nix | 29 |
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" + ]) + ]; + }; +} |