From 66aa9f5011683b18fd651aa1e8b77019f4be68f8 Mon Sep 17 00:00:00 2001 From: Florian Sesser <florian@private.storage> Date: Thu, 21 Oct 2021 14:41:29 +0000 Subject: [PATCH] Monitoring MegaRAID: Make it work. --- morph/lib/storage.nix | 6 ++++++ nixos/modules/monitoring/exporters/megacli2prom.nix | 8 +++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/morph/lib/storage.nix b/morph/lib/storage.nix index 86e14228..92adc653 100644 --- a/morph/lib/storage.nix +++ b/morph/lib/storage.nix @@ -43,8 +43,14 @@ in { ../../nixos/modules/monitoring/vpn/client.nix # Expose base system metrics over the monitoringvpn. ../../nixos/modules/monitoring/exporters/node.nix + # At least some of our storage nodes utilize MegaRAID storage controllers. + ../../nixos/modules/monitoring/exporters/megacli2prom.nix ]; + # Enable statistics gathering for MegaRAID cards. + # TODO would be nice to enable only on machines that have such a device. + services.private-storage.monitoring.megacli2prom.enable = true; + # Turn on the Private Storage (Tahoe-LAFS) service. services.private-storage = { # Yep. Turn it on. diff --git a/nixos/modules/monitoring/exporters/megacli2prom.nix b/nixos/modules/monitoring/exporters/megacli2prom.nix index 186acc0a..83370b59 100644 --- a/nixos/modules/monitoring/exporters/megacli2prom.nix +++ b/nixos/modules/monitoring/exporters/megacli2prom.nix @@ -9,7 +9,7 @@ # # See https://nixos.org/manual/nixos/stable/#module-services-prometheus-exporters -{ config, lib, ourpkgs }: +{ config, options, lib, ourpkgs, ... }: let cfg = config.services.private-storage.monitoring.megacli2prom; @@ -18,9 +18,9 @@ in { options.services.private-storage.monitoring.megacli2prom = { enable = lib.mkEnableOption "MegaCli2Prom metrics gathering service"; outFile = lib.mkOption { - type = lib.types.path; + type = lib.types.str; description = "Where to store the temporary file for node exporter to scrape?"; - default = /run/prometheus-node-exporter/megacli.prom + default = "/run/prometheus-node-exporter/megacli.prom"; }; interval = lib.mkOption { type = lib.types.str; @@ -34,9 +34,7 @@ in { config = lib.mkIf cfg.enable { - environment.systemPackages = [ ourpkgs.megacli2prom ]; - systemd.services.megacli2prom = { enable = true; description = "MegaCli2Prom metrics gathering service"; -- GitLab