, 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}" = {
};
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 = [
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 = [
"20480" # kb/s
"51200" # kb/s
];
+ __passive_servicegroups = "webstatus-resources";
}
{
- passiveInfo = defaultPassiveInfo;
service_description = "Average load";
use = "local-service";
check_command = [
"${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";
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";
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";