X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FConfig%2FNix.git;a=blobdiff_plain;f=modules%2Fprivate%2Fmonitoring%2Fobjects_monitoring-1.nix;h=02870ed638a64de698db469e6c149a24ea363069;hp=ec6fdce88d7e92d73ff896d484622090c17ecb3b;hb=171d8e1a8861e5844f6cb8d1623b93b0e86aabea;hpb=a97118c489a59d723538292214efaa10dfcb96df diff --git a/modules/private/monitoring/objects_monitoring-1.nix b/modules/private/monitoring/objects_monitoring-1.nix index ec6fdce..02870ed 100644 --- a/modules/private/monitoring/objects_monitoring-1.nix +++ b/modules/private/monitoring/objects_monitoring-1.nix @@ -1,4 +1,23 @@ -{ config, pkgs, hostFQDN, emailCheck, ... }: +{ config, pkgs, nodes, hostFQDN, emailCheck, ... }: +let + to_eriomem_age_dependency = name: { + dependent_host_name = "eldiron.immae.eu"; + host_name = "eldiron.immae.eu"; + dependent_service_description = "Eriomem backup for ${name} is not too old"; + service_description = "Eriomem backup is up and not full"; + execution_failure_criteria = "u"; + notification_failure_criteria = "u"; + }; + to_eriomem_age = name: { + service_description = "Eriomem backup for ${name} is not too old"; + host_name = "eldiron.immae.eu"; + use = "external-service"; + check_command = ["check_eriomem_age" name]; + + check_interval = "120"; + notification_interval = "120"; + }; +in { host = { # Dummy host for testing @@ -654,7 +673,7 @@ _webstatus_name = "LDAP"; _webstatus_url = "ldap.immae.eu"; } - ]; + ] ++ map to_eriomem_age (builtins.attrNames nodes.eldiron.config.services.duplyBackup.profiles); contact = { telio-tortay = config.myEnv.monitoring.contacts.telio-tortay // { use = "generic-contact"; @@ -664,4 +683,5 @@ contactgroup = { telio-tortay = { alias = "Telio Tortay"; members = "immae"; }; }; + servicedependency = map to_eriomem_age_dependency (builtins.attrNames nodes.eldiron.config.services.duplyBackup.profiles); }