X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FConfig%2FNix.git;a=blobdiff_plain;f=flakes%2Fprivate%2Fmonitoring%2Fobjects_common.nix;fp=modules%2Fprivate%2Fmonitoring%2Fobjects_common.nix;h=1da776431ed64bdc9be934fca19d96fcac858b67;hp=7c9f6420e13fa1edfebff3239e08fd28678c0b02;hb=1a64deeb894dc95e2645a75771732c6cc53a79ad;hpb=fa25ffd4583cc362075cd5e1b4130f33306103f0 diff --git a/modules/private/monitoring/objects_common.nix b/flakes/private/monitoring/objects_common.nix similarity index 82% rename from modules/private/monitoring/objects_common.nix rename to flakes/private/monitoring/objects_common.nix index 7c9f642..1da7764 100644 --- a/modules/private/monitoring/objects_common.nix +++ b/flakes/private/monitoring/objects_common.nix @@ -9,23 +9,9 @@ , loadAlert ? "1.0" , load5Alert ? loadAlert , load15Alert ? load5Alert -, mdadm , master -, lib -, mypluginsConfig , ... }: -let - defaultPassiveInfo = { - filter = lib.attrsets.filterAttrs - (k: v: builtins.elem k ["service_description"] || builtins.substring 0 1 k == "_"); - use = "external-passive-service"; - freshness_threshold = "450"; - retry_interval = "1"; - servicegroups = "webstatus-resources"; - host_name = hostFQDN; - }; -in { host = { "${hostFQDN}" = { @@ -39,13 +25,12 @@ in }; service = [ { - passiveInfo = defaultPassiveInfo; service_description = "Size on root partition"; use = "local-service"; check_command = ["check_local_disk" "20%" "10%" "/"]; + __passive_servicegroups = "webstatus-resources"; } { - passiveInfo = defaultPassiveInfo; service_description = "Total number of process"; use = "local-service"; check_command = [ @@ -54,12 +39,12 @@ in processAlert "RSZDT" ]; + __passive_servicegroups = "webstatus-resources"; } { - passiveInfo = defaultPassiveInfo; service_description = "Network bandwidth"; use = "local-service"; - check_interval = "2"; + check_interval = 2; max_check_attempts = "20"; retry_interval = "2"; check_command = [ @@ -68,9 +53,9 @@ in "20480" # kb/s "51200" # kb/s ]; + __passive_servicegroups = "webstatus-resources"; } { - passiveInfo = defaultPassiveInfo; service_description = "Average load"; use = "local-service"; check_command = [ @@ -78,44 +63,33 @@ in "${loadWarn},${load5Warn},${load15Warn}" "${loadAlert},${load5Alert},${load15Alert}" ]; + __passive_servicegroups = "webstatus-resources"; } { - passiveInfo = defaultPassiveInfo; service_description = "Swap usage"; use = "local-service"; check_command = ["check_local_swap" "20" "10"]; + __passive_servicegroups = "webstatus-resources"; } { - passiveInfo = defaultPassiveInfo; service_description = "Memory usage"; use = "local-service"; check_command = ["check_memory" "80" "90"]; + __passive_servicegroups = "webstatus-resources"; } { - passiveInfo = defaultPassiveInfo; service_description = "NTP is activated and working"; use = "local-service"; check_command = ["check_ntp"]; - } - { - passiveInfo = defaultPassiveInfo; - service_description = "No mdadm array is degraded"; - use = "local-service"; - check_command = [ - "check_command_output" - "${mdadm}/bin/mdadm --monitor --scan -1" - "^$" - "-s 0 -r root" - ]; + __passive_servicegroups = "webstatus-resources"; } ]; - command = lib.foldr (v: o: o // (v.commands or {})) {} (builtins.attrValues mypluginsConfig) // { + command = { check_local_disk = "$USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$"; check_local_procs = "$USER1$/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$"; check_local_load = "$USER1$/check_load -r -w $ARG1$ -c $ARG2$"; check_local_swap = "$USER1$/check_swap -n ok -w $ARG1$ -c $ARG2$"; check_ntp = "$USER1$/check_ntp_time -t 30 -q -H 0.arch.pool.ntp.org"; - check_mailq = "$USER1$/check_mailq -s -w 1 -c 2"; check_smtp = "$USER1$/check_smtp -H $HOSTADDRESS$ -p 25 -S -D 21,15"; check_host_alive = "$USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5"; @@ -157,7 +131,7 @@ in generic-service = { active_checks_enabled = "1"; check_freshness = "0"; - check_interval = "10"; + check_interval = 10; check_period = "24x7"; contact_groups = "admins"; event_handler_enabled = "1"; @@ -179,38 +153,38 @@ in local-service = { use = "generic-service"; host_name = hostFQDN; - check_interval = "5"; + check_interval = 5; max_check_attempts = "4"; retry_interval = "1"; servicegroups = "webstatus-resources"; }; external-service = { use = "generic-service"; - check_interval = "5"; + check_interval = 5; max_check_attempts = "4"; retry_interval = "1"; }; web-service = { use = "generic-service"; - check_interval = "20"; + check_interval = 20; max_check_attempts = "2"; retry_interval = "1"; }; external-web-service = { use = "generic-service"; - check_interval = "20"; + check_interval = 20; max_check_attempts = "2"; retry_interval = "1"; }; mail-service = { use = "generic-service"; - check_interval = "15"; + check_interval = 15; max_check_attempts = "1"; retry_interval = "1"; }; dns-service = { use = "generic-service"; - check_interval = "120"; + check_interval = 120; notification_interval = "120"; max_check_attempts = "5"; retry_interval = "5";