From 09c2b6de63a6ff35348fcb2c2eb57b974f0a8a52 Mon Sep 17 00:00:00 2001 From: Kleidi Bujari Date: Wed, 2 Apr 2025 21:59:20 -0400 Subject: automate project structure --- modules/xnet/monitoring/default.nix | 58 +++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 modules/xnet/monitoring/default.nix (limited to 'modules/xnet/monitoring/default.nix') diff --git a/modules/xnet/monitoring/default.nix b/modules/xnet/monitoring/default.nix new file mode 100644 index 0000000..eed4963 --- /dev/null +++ b/modules/xnet/monitoring/default.nix @@ -0,0 +1,58 @@ +{ config, ... }: +let + inherit (builtins) + map + ; + + inherit (config.services.prometheus) exporters; +in +{ + imports = [ ./grafana.nix ]; + + + config = { + services.prometheus = { + enable = config.xnet.monitoring.hostGrafana; + globalConfig.scrape_interval = "1m"; + + exporters = { + node = { + enable = true; + openFirewall = true; + enabledCollectors = [ "processes" "systemd" ]; + }; + + # systemd = { + # enable = true; + # openFirewall = true; + # extraFlags = [ + # "--systemd.collector.enable-ip-accounting" + # "--systemd.collector.enable-restart-count" + # ]; + # }; + + smartctl = { + enable = true; + openFirewall = true; + }; + }; + + scrapeConfigs = + let + hosts = [ "iridium" "radon" ]; + in + [{ + job_name = "node"; + static_configs = [{ + targets = map (h: "${h}:${toString exporters.node.port}") hosts; + }]; + } + { + job_name = "smartctl"; + static_configs = [{ + targets = map (h: "${h}:${toString exporters.smartctl.port}") hosts; + }]; + }]; + }; + }; +} -- cgit v1.3.1