+++ /dev/null
-{ lib, ... }:
-let
- hostFQDN = "tiboqorl.fr";
- defaultPassiveInfo = {
- filter = lib.attrsets.filterAttrs
- (k: v: builtins.elem k ["service_description"] || builtins.substring 0 1 k == "_");
- use = "external-passive-service";
- contact_groups = "tiboqorl";
- freshness_threshold = "450";
- notification_interval = "240";
- retry_interval = "1";
- servicegroups = "webstatus-resources";
- _webstatus_namespace = "tiboqorl";
- host_name = hostFQDN;
- };
-in
-{
- host = {
- "tiboqorl.fr" = {
- alias = "tiboqorl.fr";
- address = "tiboqorl.fr";
- use = "linux-server";
- contact_groups = "tiboqorl";
- hostgroups = "webstatus-hosts";
- _webstatus_name = "tiboqorl";
- _webstatus_vhost = "status.immae.eu";
- _webstatus_namespace = "tiboqorl";
- };
- };
- 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" "250" "400" "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"
- "eth0"
- "20480" # kb/s
- "51200" # kb/s
- ];
- }
- {
- passiveInfo = defaultPassiveInfo;
- service_description = "Average load";
- use = "local-service";
- check_command = [
- "check_local_load"
- "0.75,0.75,0.75" # warn
- "1.0,1.0,1.0" # alert
- ];
- }
- {
- 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"];
- }
- ];
- 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 -w $ARG1$ -c $ARG2$";
- check_local_swap = "$USER1$/check_swap -n ok -w $ARG1$ -c $ARG2$";
- check_local_bandwidth = "$USER2$/check_bandwidth -i=$ARG1$ -w $ARG2$ -c $ARG3$";
- check_memory = "$USER2$/check_mem.sh -w $ARG1$ -c $ARG2$";
- check_ntp = "$USER1$/check_ntp_time -t 30 -q -H 0.arch.pool.ntp.org";
-
- check_host_alive = "$USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5";
-
- notify-master = "$USER2$/send_nrdp.sh -u \"$USER200$\" -t \"$USER201$\" -H \"$HOSTADDRESS$\" -s \"$SERVICEDESC$\" -S \"$SERVICESTATEID$\" -o \"$SERVICEOUTPUT$ | $SERVICEPERFDATA$\"";
- };
- 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-resources = { alias = "Local resources"; };
- };
- hostgroup = {
- webstatus-hosts = { alias = "Hosts"; };
- };
- contactgroup = {
- tiboqorl = { alias = "Naemon Administrators"; };
- };
- templates = {
- service = {
- generic-service = {
- active_checks_enabled = "1";
- check_freshness = "0";
- check_interval = "10";
- check_period = "24x7";
- contact_groups = "tiboqorl";
- 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 = "0";
- obsess_over_service = "1";
- passive_checks_enabled = "1";
- process_perf_data = "1";
- retain_nonstatus_information = "1";
- retain_status_information = "1";
- retry_interval = "2";
- };
- local-service = {
- use = "generic-service";
- host_name = hostFQDN;
- check_interval = "5";
- max_check_attempts = "4";
- retry_interval = "1";
- servicegroups = "webstatus-resources";
- };
- };
- 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 = "tiboqorl";
- max_check_attempts = "10";
- notification_interval = "120";
- notification_options = "d,u,r,f";
- retry_interval = "1";
- };
- };
- };
-}