lvmraid monitoring

This commit is contained in:
Alex Tau 2026-01-18 22:25:05 +03:00
parent 57accba7d7
commit db1c41fb53
13 changed files with 249 additions and 5 deletions

View file

@ -32,8 +32,7 @@ package:
enabled_check_sets = cfg.enabledCheckSets;
log_level = cfg.logLevel;
alert_channels = {
telegram = with cfg.alertChannels.telegram; if enable then
{
telegram = with cfg.alertChannels.telegram; if enable then {
creds_secret_path = credsSecretPath;
room_id = roomId;
} else null;
@ -81,6 +80,8 @@ package:
ups_to_check = upsToCheck;
upsmon_group = upsmonGroup;
};
lvmraid.lv_paths = cfg.checks.lvmraid.lvPaths;
};
};
in lib.mkIf cfg.enable {

View file

@ -35,6 +35,7 @@ in
"temp"
"net"
"ups"
"lvmraid"
"vulnix"
]);
@ -48,6 +49,7 @@ in
* temp -- alerts when temperature readings are above thresholds
* net -- alerts when network usage is above threshold
* ups -- alerts on UPS events
* lvmraid -- alerts when RAID LVs are unhealthy
* vulnix -- periodically scans system for known CVEs, alerts if any are found (NixOS only)'';
};
@ -187,6 +189,15 @@ in
description = "Group to allow to send UPS status updates. This should usually include the user upsmon runs as.";
};
};
lvmraid = {
lvPaths = lib.mkOption {
type = with lib.types; listOf str;
default = [ ];
description = "List of LV paths to monitor.";
example = lib.literalExpression ''[ Data/lvol0 ]'';
};
};
};
};
}