blob: 4cdf59a9cfa250de8f82263a9b757d8cf9da8f4c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
{ config, pkgs, lib, hostFQDN, emailCheck, ... }:
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
{
service = [
(emailCheck "backup-2" hostFQDN // {
passiveInfo = defaultPassiveInfo // { servicegroups = "webstatus-email"; freshness_threshold = "1350"; };
})
{
passiveInfo = defaultPassiveInfo;
service_description = "Size on /backup2 partition";
use = "local-service";
check_command = ["check_local_disk" "10%" "5%" "/backup2"];
}
{
passiveInfo = defaultPassiveInfo // { servicegroups = "webstatus-backup"; };
service_description = "Last backup in /backup2/phare is not too old";
use = "local-service";
check_command = ["check_last_file_date" "/backup2/phare" "14" "backup"];
}
{
passiveInfo = defaultPassiveInfo // { servicegroups = "webstatus-backup"; };
service_description = "Last backup in /backup2/dilion is not too old";
use = "local-service";
check_command = ["check_last_file_date" "/backup2/dilion" "14" "backup"];
}
{
passiveInfo = defaultPassiveInfo // { servicegroups = "webstatus-backup"; };
service_description = "Last backup in /backup2/ulminfo is not too old";
use = "local-service";
check_command = ["check_last_file_date" "/backup2/ulminfo" "14" "backup"];
}
{
passiveInfo = defaultPassiveInfo // { servicegroups = "webstatus-databases,webstatus-backup"; };
service_description = "Last postgresql dump in /backup2/eldiron/postgresql_backup is not too old";
use = "local-service";
check_command = ["check_last_file_date" "/backup2/eldiron/postgresql_backup" "7" "postgres"];
}
{
passiveInfo = defaultPassiveInfo // { servicegroups = "webstatus-databases"; };
service_description = "Redis replication for eldiron is up to date";
use = "local-service";
check_command = ["check_redis_replication" "/run/redis_eldiron/redis.sock"];
}
{
passiveInfo = defaultPassiveInfo // { servicegroups = "webstatus-databases,webstatus-backup"; };
service_description = "Last redis dump in /backup2/eldiron/redis_backup is not too old";
use = "local-service";
check_command = ["check_last_file_date" "/backup2/eldiron/redis_backup" "7" "redis"];
}
{
passiveInfo = defaultPassiveInfo // { servicegroups = "webstatus-databases"; };
service_description = "Mysql replication for eldiron is up to date";
use = "local-service";
check_command = ["check_mysql_replication" "/run/mysqld_eldiron/mysqld.sock" "/var/secrets/mysql_replication/eldiron/client"];
}
{
passiveInfo = defaultPassiveInfo // { servicegroups = "webstatus-databases,webstatus-backup"; };
service_description = "Last mysql dump in /backup2/eldiron/mysql_backup is not too old";
use = "local-service";
check_command = ["check_last_file_date" "/backup2/eldiron/mysql_backup" "7" "mysql"];
}
{
passiveInfo = defaultPassiveInfo // { servicegroups = "webstatus-databases"; };
service_description = "Openldap replication for eldiron is up to date";
use = "local-service";
check_command = let
name = "eldiron";
hcfg = config.myServices.databasesReplication.openldap.hosts.eldiron;
base = config.myServices.databasesReplication.openldap.base;
eldiron_schemas = pkgs.callPackage ../databases/openldap/eldiron_schemas.nix {};
ldapConfig = pkgs.writeText "slapd.conf" ''
include ${pkgs.openldap}/etc/schema/core.schema
include ${pkgs.openldap}/etc/schema/cosine.schema
include ${pkgs.openldap}/etc/schema/inetorgperson.schema
include ${pkgs.openldap}/etc/schema/nis.schema
${eldiron_schemas}
moduleload back_hdb
backend hdb
database hdb
suffix "${hcfg.base}"
directory ${base}/${name}/openldap
'';
in [
"check_openldap_replication"
hcfg.url
hcfg.dn
"${config.secrets.location}/openldap_replication/eldiron/replication_password"
hcfg.base
ldapConfig
];
}
{
passiveInfo = defaultPassiveInfo // { servicegroups = "webstatus-databases,webstatus-backup"; };
service_description = "Last openldap dump in /backup2/eldiron/openldap_backup is not too old";
use = "local-service";
check_command = ["check_last_file_date" "/backup2/eldiron/openldap_backup" "7" "openldap"];
}
];
}
|