]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - modules/private/monitoring/objects_dilion.nix
Add snapshot date check for monitoring
[perso/Immae/Config/Nix.git] / modules / private / monitoring / objects_dilion.nix
1 { lib, hostFQDN, emailCheck, ... }:
2 let
3 defaultPassiveInfo = {
4 filter = lib.attrsets.filterAttrs
5 (k: v: builtins.elem k ["service_description"] || builtins.substring 0 1 k == "_");
6 use = "external-passive-service";
7 freshness_threshold = "450";
8 retry_interval = "1";
9 servicegroups = "webstatus-resources";
10 host_name = hostFQDN;
11 };
12 zfs_snapshot = name: {
13 passiveInfo = defaultPassiveInfo // { servicegroups = "webstatus-resources"; };
14 service_description = "ZFS snapshot ${name} happened not too long ago";
15 use = "local-service";
16 check_command = ["check_zfs_snapshot" name];
17 };
18 in
19 {
20 activatedPlugins = [ "zfs" ];
21 service = [
22 {
23 passiveInfo = defaultPassiveInfo // { servicegroups = "webstatus-resources"; };
24 service_description = "No ZFS pool is degraded";
25 use = "local-service";
26 check_command = ["check_zfs"];
27 }
28 (zfs_snapshot "zpool/backup/eldiron/zpool/root")
29 (zfs_snapshot "zpool/backup/eldiron/zpool/root/etc")
30 (zfs_snapshot "zpool/backup/eldiron/zpool/root/var")
31 ];
32 }