summaryrefslogtreecommitdiff
path: root/modules/xnet/monitoring/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/xnet/monitoring/default.nix')
-rw-r--r--modules/xnet/monitoring/default.nix58
1 files changed, 58 insertions, 0 deletions
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;
+ }];
+ }];
+ };
+ };
+}