+++ /dev/null
-{ 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
-{
- activatedPlugins = [ "file_date" "mysql" "openldap" "redis" "emails" ];
- 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" config.secrets.fullPaths."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.fullPaths."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"];
- }
- ];
-}