blob: c3851b52a0994e72a14dd96603f1da3402bda70c (
plain) (
tree)
|
|
{ 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";
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";
};
};
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"
"3.0,3.0,3.0" # warn
"4.0,4.0,4.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 = "/usr/bin/sudo $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 = "/usr/bin/sudo $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";
};
};
};
}
|