X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fmonitoring%2Fobjects_monitoring-1.nix;h=32dbe4b9cd758b340f3bd13903cd587a4fd606ab;hb=acab8301f6a0a76d97b36d009a60d4172bf62981;hp=f69d3ffb37268c8039b17e155d3859e13eb74009;hpb=258441019881c451686dbe537069228cc8e49612;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/monitoring/objects_monitoring-1.nix b/modules/private/monitoring/objects_monitoring-1.nix index f69d3ff..32dbe4b 100644 --- a/modules/private/monitoring/objects_monitoring-1.nix +++ b/modules/private/monitoring/objects_monitoring-1.nix @@ -1,5 +1,28 @@ -{ config, pkgs, ... }: +{ config, pkgs, nodes, hostFQDN, emailCheck, lib, ... }: +let + to_resource = func: cfg: lib.flatten (lib.optionals cfg.enable (lib.mapAttrsToList func cfg.profiles)); + to_backup_age_dependency = name: profile: map (remote: + { + dependent_host_name = "eldiron.immae.eu"; + host_name = "eldiron.immae.eu"; + dependent_service_description = "${remote} backup for ${name} is not too old"; + service_description = "${remote} backup is up and not full"; + execution_failure_criteria = "u"; + notification_failure_criteria = "u"; + }) profile.remotes; + to_backup_age = name: profile: map (remote: + { + service_description = "${remote} backup for ${name} is not too old"; + host_name = "eldiron.immae.eu"; + use = "external-service"; + check_command = ["check_backup_${remote}_age" name]; + + check_interval = "120"; + notification_interval = "1440"; + }) profile.remotes; +in { + activatedPlugins = [ "dns" "ftp" "git" "http" "imap" "ovh" "tcp" ]; host = { # Dummy host for testing # "dummy-host" = { @@ -22,6 +45,8 @@ # check_command = "check_critical"; # } + (emailCheck "monitoring-1" hostFQDN) + { service_description = "ftp has access to database for authentication"; host_name = "eldiron.immae.eu"; @@ -77,15 +102,37 @@ _webstatus_url = "imap.immae.eu"; } + # Third party services + { + service_description = "OVH account has enough sms"; + host_name = "eldiron.immae.eu"; + use = "external-service"; + check_command = "check_ovh_sms"; + + check_interval = "120"; + notification_interval = "1440"; + } + # Backup services + # { + # service_description = "eriomem backup is up and not full"; + # host_name = "eldiron.immae.eu"; + # use = "external-service"; + # check_command = "check_backup_eriomem"; + + # check_interval = "120"; + # notification_interval = "1440"; + + # servicegroups = "webstatus-backup"; + # } { - service_description = "Eriomem backup is up and not full"; + service_description = "ovh backup is up and not full"; host_name = "eldiron.immae.eu"; use = "external-service"; - check_command = "check_eriomem"; + check_command = "check_ok"; check_interval = "120"; - notification_interval = "120"; + notification_interval = "1440"; servicegroups = "webstatus-backup"; } @@ -405,7 +452,7 @@ service_description = "roundcube website is running on mail.immae.eu"; host_name = "eldiron.immae.eu"; use = "external-web-service"; - check_command = ["check_https_code" "mail.immae.eu" "/roundcube/" "401" "