]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/monitoring/objects_common.nix
Squash changes containing private information
[perso/Immae/Config/Nix.git] / modules / private / monitoring / objects_common.nix
diff --git a/modules/private/monitoring/objects_common.nix b/modules/private/monitoring/objects_common.nix
deleted file mode 100644 (file)
index 7c9f642..0000000
+++ /dev/null
@@ -1,253 +0,0 @@
-{ hostFQDN
-, hostName
-, interface ? "eth0"
-, processWarn ? "250"
-, processAlert ? "400"
-, loadWarn ? "0.9"
-, load5Warn ? loadWarn
-, load15Warn ? load5Warn
-, 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}" = {
-      alias = hostFQDN;
-      address = hostFQDN;
-      use = "linux-server";
-      hostgroups = "webstatus-hosts";
-      _webstatus_name = hostName;
-      _webstatus_vhost = "status.immae.eu";
-    };
-  };
-  service = [
-    {
-      passiveInfo = defaultPassiveInfo;
-      service_description = "Size on root partition";
-      use = "local-service";
-      check_command = ["check_local_disk" "20%" "10%" "/"];
-    }
-    {
-      passiveInfo = defaultPassiveInfo;
-      service_description = "Total number of process";
-      use = "local-service";
-      check_command = [
-        "check_local_procs"
-        processWarn
-        processAlert
-        "RSZDT"
-      ];
-    }
-    {
-      passiveInfo = defaultPassiveInfo;
-      service_description = "Network bandwidth";
-      use = "local-service";
-      check_interval = "2";
-      max_check_attempts = "20";
-      retry_interval = "2";
-      check_command = [
-        "check_local_bandwidth"
-        interface
-        "20480" # kb/s
-        "51200" # kb/s
-      ];
-    }
-    {
-      passiveInfo = defaultPassiveInfo;
-      service_description = "Average load";
-      use = "local-service";
-      check_command = [
-        "check_local_load"
-        "${loadWarn},${load5Warn},${load15Warn}"
-        "${loadAlert},${load5Alert},${load15Alert}"
-      ];
-    }
-    {
-      passiveInfo = defaultPassiveInfo;
-      service_description = "Swap usage";
-      use = "local-service";
-      check_command = ["check_local_swap" "20" "10"];
-    }
-    {
-      passiveInfo = defaultPassiveInfo;
-      service_description = "Memory usage";
-      use = "local-service";
-      check_command = ["check_memory" "80" "90"];
-    }
-    {
-      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"
-      ];
-    }
-  ];
-  command = lib.foldr (v: o: o // (v.commands or {})) {} (builtins.attrValues mypluginsConfig) // {
-    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";
-    check_ok = "$USER1$/check_dummy 0 \"Dummy OK\"";
-    check_critical = "$USER1$/check_dummy 2 \"Dummy CRITICAL\"";
-  };
-  timeperiod = {
-    "24x7" = {
-      alias = "24 Hours A Day, 7 Days A Week";
-      monday = "00:00-24:00";
-      tuesday = "00:00-24:00";
-      wednesday = "00:00-24:00";
-      thursday = "00:00-24:00";
-      friday = "00:00-24:00";
-      saturday = "00:00-24:00";
-      sunday = "00:00-24:00";
-    };
-  };
-  servicegroup = {
-    webstatus-webapps = { alias = "Web applications"; };
-    webstatus-websites = { alias = "Personal websites"; };
-    webstatus-ssl = { alias = "SSL certificates"; };
-    webstatus-dns = { alias = "DNS resolution"; };
-    webstatus-remote-services = { alias = "Other remote services"; };
-    webstatus-local-services = { alias = "Other local services"; };
-    webstatus-email = { alias = "E-mail services"; };
-    webstatus-resources = { alias = "Local resources"; };
-    webstatus-databases = { alias = "Databases resources"; };
-    webstatus-backup = { alias = "Backup resources"; };
-  };
-  hostgroup = {
-    webstatus-hosts   = { alias = "Hosts"; };
-  };
-  contactgroup = {
-    admins = { alias = "Naemon Administrators"; };
-  };
-  templates = {
-    service = {
-      generic-service = {
-        active_checks_enabled = "1";
-        check_freshness = "0";
-        check_interval = "10";
-        check_period = "24x7";
-        contact_groups = "admins";
-        event_handler_enabled = "1";
-        flap_detection_enabled = "1";
-        is_volatile = "0";
-        max_check_attempts = "3";
-        notification_interval = "60";
-        notification_options = "w,u,c,r,f,s";
-        notification_period = "24x7";
-        notifications_enabled = if master then "1" else "0";
-        obsess_over_service = "1";
-        passive_checks_enabled = "1";
-        process_perf_data = "1";
-        retain_nonstatus_information = "1";
-        retain_status_information = "1";
-        retry_interval = "2";
-        _webstatus_namespace = "immae";
-      };
-      local-service = {
-        use = "generic-service";
-        host_name = hostFQDN;
-        check_interval = "5";
-        max_check_attempts = "4";
-        retry_interval = "1";
-        servicegroups = "webstatus-resources";
-      };
-      external-service = {
-        use = "generic-service";
-        check_interval = "5";
-        max_check_attempts = "4";
-        retry_interval = "1";
-      };
-      web-service = {
-        use = "generic-service";
-        check_interval = "20";
-        max_check_attempts = "2";
-        retry_interval = "1";
-      };
-      external-web-service = {
-        use = "generic-service";
-        check_interval = "20";
-        max_check_attempts = "2";
-        retry_interval = "1";
-      };
-      mail-service = {
-        use = "generic-service";
-        check_interval = "15";
-        max_check_attempts = "1";
-        retry_interval = "1";
-      };
-      dns-service = {
-        use = "generic-service";
-        check_interval = "120";
-        notification_interval = "120";
-        max_check_attempts = "5";
-        retry_interval = "5";
-      };
-    };
-    # No contact, we go through master
-    contact = {
-      generic-contact = {
-        host_notification_commands = "notify-host-by-email";
-        host_notification_options = "d,u,r,f,s";
-        host_notification_period = "24x7";
-        service_notification_commands = "notify-service-by-email";
-        service_notification_options = "w,u,c,r,f,s";
-        service_notification_period = "24x7";
-      };
-    };
-    host = {
-      generic-host = {
-        event_handler_enabled = "1";
-        flap_detection_enabled = "1";
-        notification_period = "24x7";
-        notifications_enabled = "1";
-        process_perf_data = "1";
-        retain_nonstatus_information = "1";
-        retain_status_information = "1";
-      };
-      linux-server = {
-        check_command = "check_host_alive";
-        check_interval = "5";
-        check_period = "24x7";
-        contact_groups = "admins";
-        max_check_attempts = "10";
-        notification_interval = "120";
-        notification_options = "d,u,r,f";
-        retry_interval = "1";
-        _webstatus_namespace = "immae";
-      };
-    };
-  };
-}