From c31fcdcdbd051a52e93fa6dc06e70f106228e3e8 Mon Sep 17 00:00:00 2001 From: arcnmx Date: Sat, 22 Jun 2024 17:51:02 -0700 Subject: [PATCH] fix(monitoring): node exporter collectors --- modules/extern/nixos/monitoring.nix | 21 +++++++ .../nixos/monitoring/source/prometheus.nix | 57 ++++++++++++------- 2 files changed, 56 insertions(+), 22 deletions(-) diff --git a/modules/extern/nixos/monitoring.nix b/modules/extern/nixos/monitoring.nix index 112fb023..f8e35a61 100644 --- a/modules/extern/nixos/monitoring.nix +++ b/modules/extern/nixos/monitoring.nix @@ -8,6 +8,7 @@ let }: let inherit (lib.options) mkOption mkEnableOption; inherit (lib.modules) mkIf mkMerge mkDefault mkOptionDefault; + inherit (lib.lists) elem; inherit (gensokyo-zone.lib) mkAlmostOptionDefault mapOptionDefaults unmerged domain; inherit (nixosConfig.gensokyo-zone) access; in { @@ -61,14 +62,17 @@ let in { enable = mkDefault true; port = mkDefault 9091; + extraFlags = [ "--collector.disable-defaults" ]; enabledCollectors = mkIf cfg.defaultCollectors (mkMerge [ [ "systemd" + "logind" "arp" "cpu" "entropy" "filesystem" "netdev" + "ethtool" "sysctl" "loadavg" "meminfo" @@ -78,6 +82,12 @@ let "uname" "vmstat" ] + (mkIf nixosConfig.boot.supportedFilesystems.btrfs or false [ + "btrfs" + ]) + (mkIf nixosConfig.boot.supportedFilesystems.xfs or false [ + "xfs" + ]) (mkIf nixosConfig.boot.supportedFilesystems.zfs or false [ "zfs" ]) @@ -91,6 +101,17 @@ let "nvme" "hwmon" ]) + (mkIf (nixosConfig.services.xserver.enable && elem "amdgpu" nixosConfig.services.xserver.videoDrivers) [ + "drm" + ]) + (mkIf (nixosConfig.networking.wireless.enable || nixosConfig.networking.wireless.iwd.enable || nixosConfig.networking.networkmanager.enable) [ + "wifi" + ]) + (mkIf nixosConfig.powerManagement.enable [ + "thermal_zone" + "powersupplyclass" + "rapl" + ]) ]); }; promtail = let diff --git a/modules/nixos/monitoring/source/prometheus.nix b/modules/nixos/monitoring/source/prometheus.nix index 8a791357..a6373094 100644 --- a/modules/nixos/monitoring/source/prometheus.nix +++ b/modules/nixos/monitoring/source/prometheus.nix @@ -5,7 +5,7 @@ }: let inherit (lib.modules) mkIf mkMerge; inherit (lib.attrsets) attrValues; - inherit (lib.lists) concatMap toList; + inherit (lib.lists) concatMap toList elem; allExporters = let exporters = removeAttrs config.services.prometheus.exporters ["unifi-poller"]; in @@ -13,27 +13,38 @@ in { config = { services.prometheus.exporters = { - node = mkMerge [ - { - #enable = true; - port = 9091; - enabledCollectors = [ + node = { + port = 9091; + extraFlags = [ "--collector.disable-defaults" ]; + enabledCollectors = mkMerge [ + (mkIf config.boot.supportedFilesystems.xfs or false [ + "xfs" + ]) + (mkIf config.boot.supportedFilesystems.zfs or false [ + "zfs" + ]) + (mkIf config.boot.supportedFilesystems.nfs or config.boot.supportedFilesystems.nfs4 or false [ "nfs" - ]; - } - (mkIf config.services.nfs.server.enable { - enabledCollectors = [ + ]) + (mkIf config.services.nfs.server.enable [ "nfsd" - ]; - }) - (mkIf (!config.boot.isContainer) { - enabledCollectors = [ + ]) + (mkIf (!config.boot.isContainer) [ "nvme" "hwmon" - ]; - }) - { - enabledCollectors = [ + "thermal_zone" + ]) + (mkIf config.powerManagement.enable [ + "powersupplyclass" + "rapl" + ]) + (mkIf (config.services.xserver.enable && elem "amdgpu" config.services.xserver.videoDrivers) [ + "drm" + ]) + (mkIf (config.networking.wireless.enable || config.networking.wireless.iwd.enable || config.networking.networkmanager.enable) [ + "wifi" + ]) + [ "arp" "cpu" "cpufreq" @@ -44,6 +55,9 @@ in { "netdev" "sysctl" "systemd" + "ethtool" + "logind" + "cgroups" "loadavg" "meminfo" "netstat" @@ -52,10 +66,9 @@ in { "time" "uname" "vmstat" - "zfs" - ]; - } - ]; + ] + ]; + }; }; networking.firewall.interfaces.lan.allowedTCPPorts = map (