1 { config, pkgs, nodes, hostFQDN, emailCheck, lib, ... }:
3 activatedPlugins = [ "dns" "ftp" "git" "http" "imap" "ovh" "tcp" ];
5 # Dummy host for testing
7 # alias = "dummy.host";
8 # check_interval = "0.3";
9 # max_check_attempts = "1";
10 # flap_detection_enabled = "0";
11 # notification_interval = "0.1";
12 # address = "dummy.host";
13 # use = "linux-server";
14 # check_command = "check_ok";
18 # Dummy service for testing
20 # service_description = "Dummy failing test";
21 # host_name = "dummy-host";
22 # use = "local-service";
23 # check_interval = "0.3";
24 # max_check_attempts = "1";
25 # flap_detection_enabled = "0";
26 # notification_interval = "0.1";
27 # check_command = "check_critical";
30 (emailCheck "monitoring-1" hostFQDN)
33 service_description = "ftp has access to database for authentication";
34 host_name = "eldiron.immae.eu";
35 use = "external-service";
36 check_command = "check_ftp_database";
38 servicegroups = "webstatus-remote-services";
39 _webstatus_name = "FTP";
40 _webstatus_url = "ftp.immae.eu";
44 service_description = "gitolite is working";
45 host_name = "eldiron.immae.eu";
46 use = "external-web-service";
47 check_command = "check_git";
49 servicegroups = "webstatus-remote-services";
50 _webstatus_name = "Git";
51 _webstatus_url = "git.immae.eu";
55 service_description = "postfix SSL is up to date";
56 host_name = "eldiron.immae.eu";
57 use = "external-service";
58 check_command = "check_smtp";
60 servicegroups = "webstatus-ssl";
61 _webstatus_name = "SMTP";
62 _webstatus_url = "smtp.immae.eu";
66 service_description = "imap SSL is up to date";
67 host_name = "eldiron.immae.eu";
68 use = "external-service";
69 check_command = ["check_tcp_ssl" "993"];
71 servicegroups = "webstatus-ssl";
72 _webstatus_name = "IMAP";
73 _webstatus_url = "imap.immae.eu";
77 service_description = "imap connection works";
78 host_name = "eldiron.immae.eu";
79 use = "external-service";
80 check_command = "check_imap_connection";
82 servicegroups = "webstatus-remote-services,webstatus-email";
83 _webstatus_name = "IMAP";
84 _webstatus_url = "imap.immae.eu";
87 # Third party services
89 service_description = "OVH account has enough sms";
90 host_name = "eldiron.immae.eu";
91 use = "external-service";
92 check_command = "check_ovh_sms";
94 check_interval = "120";
95 notification_interval = "1440";
100 # service_description = "eriomem backup is up and not full";
101 # host_name = "eldiron.immae.eu";
102 # use = "external-service";
103 # check_command = "check_backup_eriomem";
105 # check_interval = "120";
106 # notification_interval = "1440";
108 # servicegroups = "webstatus-backup";
111 service_description = "ovh backup is up and not full";
112 host_name = "eldiron.immae.eu";
113 use = "external-service";
114 check_command = "check_ok";
116 check_interval = "120";
117 notification_interval = "1440";
119 servicegroups = "webstatus-backup";
124 service_description = "eldiron dns is active and authoritative for aten.pro";
125 host_name = "eldiron.immae.eu";
127 check_command = ["check_dns" "aten.pro" "-A"];
129 servicegroups = "webstatus-dns";
130 _webstatus_name = "aten.pro";
134 service_description = "eldiron dns is active and authoritative for bouya.org";
135 host_name = "eldiron.immae.eu";
137 check_command = ["check_dns" "bouya.org" "-A"];
139 servicegroups = "webstatus-dns";
140 _webstatus_name = "bouya.org";
144 service_description = "eldiron dns is active and authoritative for filedesreves.fr";
145 host_name = "eldiron.immae.eu";
147 check_command = ["check_dns" "filedesreves.fr" "-A"];
149 servicegroups = "webstatus-dns";
150 _webstatus_name = "filedesreves.fr";
154 service_description = "eldiron dns is active and authoritative for ludivinecassal.com";
155 host_name = "eldiron.immae.eu";
157 check_command = ["check_dns" "ludivinecassal.com" "-A"];
159 servicegroups = "webstatus-dns";
160 _webstatus_name = "ludivinecassal.com";
164 service_description = "eldiron dns is active and authoritative for icommandeur.org";
165 host_name = "eldiron.immae.eu";
167 check_command = ["check_dns" "icommandeur.org" "-A"];
169 servicegroups = "webstatus-dns";
170 _webstatus_name = "icommandeur.org";
174 service_description = "eldiron dns is active and authoritative for immae.eu";
175 host_name = "eldiron.immae.eu";
177 check_command = ["check_dns" "immae.eu" "-A"];
179 servicegroups = "webstatus-dns";
180 _webstatus_name = "immae.eu";
184 service_description = "eldiron dns is active and authoritative for immae.fr";
185 host_name = "eldiron.immae.eu";
187 check_command = ["check_dns" "immae.fr" "-A"];
189 servicegroups = "webstatus-dns";
190 _webstatus_name = "immae.fr";
194 service_description = "eldiron dns is active and authoritative for piedsjaloux.fr";
195 host_name = "eldiron.immae.eu";
197 check_command = ["check_dns" "piedsjaloux.fr" "-A"];
199 servicegroups = "webstatus-dns";
200 _webstatus_name = "piedsjaloux.fr";
204 service_description = "eldiron dns is active and authoritative for saison-photo.org";
205 host_name = "eldiron.immae.eu";
207 check_command = ["check_dns" "saison-photo.org" "-A"];
209 servicegroups = "webstatus-dns";
210 _webstatus_name = "saison-photo.org";
214 service_description = "eldiron dns is active and authoritative for tellesflorian.com";
215 host_name = "eldiron.immae.eu";
217 check_command = ["check_dns" "tellesflorian.com" "-A"];
219 servicegroups = "webstatus-dns";
220 _webstatus_name = "tellesflorian.com";
224 service_description = "eldiron dns is active and authoritative for capitaines.fr";
225 host_name = "eldiron.immae.eu";
227 check_command = ["check_dns" "capitaines.fr" "-A"];
229 servicegroups = "webstatus-dns";
230 _webstatus_name = "capitaines.fr";
234 service_description = "cloudns dns is active and authoritative for aten.pro";
235 host_name = "eldiron.immae.eu";
237 check_command = ["check_external_dns" "pns1.cloudns.net" "aten.pro" "-A"];
239 servicegroups = "webstatus-dns";
240 _webstatus_name = "aten.pro (Secondary DNS ClouDNS)";
244 service_description = "cloudns dns is active and authoritative for bouya.org";
245 host_name = "eldiron.immae.eu";
247 check_command = ["check_external_dns" "pns1.cloudns.net" "bouya.org" "-A"];
249 servicegroups = "webstatus-dns";
250 _webstatus_name = "bouya.org (Secondary DNS ClouDNS)";
254 service_description = "cloudns dns is active and authoritative for filedesreves.fr";
255 host_name = "eldiron.immae.eu";
257 check_command = ["check_external_dns" "pns1.cloudns.net" "filedesreves.fr" "-A"];
259 servicegroups = "webstatus-dns";
260 _webstatus_name = "filedesreves.fr (Secondary DNS ClouDNS)";
264 service_description = "cloudns dns is active and authoritative for ludivinecassal.com";
265 host_name = "eldiron.immae.eu";
267 check_command = ["check_external_dns" "pns1.cloudns.net" "ludivinecassal.com" "-A"];
269 servicegroups = "webstatus-dns";
270 _webstatus_name = "ludivinecassal.com (Secondary DNS ClouDNS)";
274 service_description = "cloudns dns is active and authoritative for icommandeur.org";
275 host_name = "eldiron.immae.eu";
277 check_command = ["check_external_dns" "pns1.cloudns.net" "icommandeur.org" "-A"];
279 servicegroups = "webstatus-dns";
280 _webstatus_name = "icommandeur.org (Secondary DNS ClouDNS)";
284 service_description = "cloudns dns is active and authoritative for immae.eu";
285 host_name = "eldiron.immae.eu";
287 check_command = ["check_external_dns" "pns1.cloudns.net" "immae.eu" "-A"];
289 servicegroups = "webstatus-dns";
290 _webstatus_name = "immae.eu (Secondary DNS ClouDNS)";
294 service_description = "cloudns dns is active and authoritative for immae.fr";
295 host_name = "eldiron.immae.eu";
297 check_command = ["check_external_dns" "pns1.cloudns.net" "immae.fr" "-A"];
299 servicegroups = "webstatus-dns";
300 _webstatus_name = "immae.fr (Secondary DNS ClouDNS)";
304 service_description = "cloudns dns is active and authoritative for piedsjaloux.fr";
305 host_name = "eldiron.immae.eu";
307 check_command = ["check_external_dns" "pns1.cloudns.net" "piedsjaloux.fr" "-A"];
309 servicegroups = "webstatus-dns";
310 _webstatus_name = "piedsjaloux.fr (Secondary DNS ClouDNS)";
314 service_description = "cloudns dns is active and authoritative for tellesflorian.com";
315 host_name = "eldiron.immae.eu";
317 check_command = ["check_external_dns" "pns1.cloudns.net" "tellesflorian.com" "-A"];
319 servicegroups = "webstatus-dns";
320 _webstatus_name = "tellesflorian.com (Secondary DNS ClouDNS)";
324 service_description = "cloudns dns is active and authoritative for saison-photo.org";
325 host_name = "eldiron.immae.eu";
327 check_command = ["check_external_dns" "pns1.cloudns.net" "saison-photo.org" "-A"];
329 servicegroups = "webstatus-dns";
330 _webstatus_name = "saison-photo.org (Secondary DNS ClouDNS)";
335 service_description = "blog website is running on immae.eu";
336 host_name = "eldiron.immae.eu";
337 use = "external-web-service";
338 check_command = ["check_https" "www.immae.eu" "/blog/" "egrep -ri TODO /etc"];
340 servicegroups = "webstatus-websites";
341 _webstatus_name = "Immae’s Blog";
342 _webstatus_url = "https://www.immae.eu/blog";
346 service_description = "owncloud website is running on cloud.immae.eu";
347 host_name = "eldiron.immae.eu";
348 use = "external-web-service";
349 check_command = ["check_https" "cloud.immae.eu" "/" "a safe home for all your data"];
351 servicegroups = "webstatus-webapps";
352 _webstatus_name = "Nextcloud";
353 _webstatus_url = "https://cloud.immae.eu";
357 service_description = "nextcloud website is running on nextcloud.4c.salle-s.org";
358 host_name = "quatresaisons.immae.eu";
359 use = "external-web-service";
360 check_command = ["check_https" "nextcloud.4c.salle-s.org" "/" "a safe home for all your data"];
362 servicegroups = "webstatus-webapps";
363 _webstatus_name = "Nextcloud";
364 _webstatus_url = "https://nextcloud.4c.salle-s.org";
368 service_description = "davical website is running on dav.immae.eu";
369 host_name = "eldiron.immae.eu";
370 use = "external-web-service";
371 check_command = ["check_https" "dav.immae.eu" "/davical/" "Log On Please"];
373 servicegroups = "webstatus-webapps";
374 _webstatus_name = "Davical";
375 _webstatus_url = "https://dav.immae.eu/davical";
379 service_description = "adminer website is running on tools.immae.eu";
380 host_name = "eldiron.immae.eu";
381 use = "external-web-service";
382 check_command = ["check_https_auth" "tools.immae.eu" "/adminer/" "www.adminer.org"];
384 servicegroups = "webstatus-webapps";
385 _webstatus_name = "Adminer";
386 _webstatus_url = "https://tools.immae.eu/adminer/";
390 service_description = "ttrss website is running on tools.immae.eu";
391 host_name = "eldiron.immae.eu";
392 use = "external-web-service";
393 check_command = ["check_https" "tools.immae.eu" "/ttrss/" "<title>Tiny Tiny RSS"];
395 servicegroups = "webstatus-webapps";
396 _webstatus_name = "TT-RSS";
397 _webstatus_url = "https://tools.immae.eu/ttrss/";
401 service_description = "mpd website is running on tools.immae.eu";
402 host_name = "eldiron.immae.eu";
403 use = "external-web-service";
404 check_command = ["check_https_auth" "tools.immae.eu" "/mpd/" "<title>ympd"];
406 servicegroups = "webstatus-webapps";
407 _webstatus_name = "MPD (YMPD)";
408 _webstatus_url = "https://tools.immae.eu/mpd/";
412 service_description = "rompr mpd website is running on tools.immae.eu";
413 host_name = "eldiron.immae.eu";
414 use = "external-web-service";
415 check_command = ["check_https_auth" "tools.immae.eu" "/rompr/" "<title>RompЯ"];
417 servicegroups = "webstatus-webapps";
418 _webstatus_name = "MPD (ROMPR)";
419 _webstatus_url = "https://tools.immae.eu/rompr/";
423 service_description = "wallabag website is running on tools.immae.eu";
424 host_name = "eldiron.immae.eu";
425 use = "external-web-service";
426 check_command = ["check_https" "tools.immae.eu" "/wallabag/" "<title>Bienvenue sur wallabag"];
428 servicegroups = "webstatus-webapps";
429 _webstatus_name = "Wallabag";
430 _webstatus_url = "https://tools.immae.eu/wallabag/";
434 service_description = "yourl website is running on tools.immae.eu";
435 host_name = "eldiron.immae.eu";
436 use = "external-web-service";
437 check_command = ["check_https" "tools.immae.eu" "/url/admin/" "<title>YOURLS"];
439 servicegroups = "webstatus-webapps";
440 _webstatus_name = "YOURLS";
441 _webstatus_url = "https://tools.immae.eu/url/admin/";
445 service_description = "roundcube website is running on mail.immae.eu";
446 host_name = "eldiron.immae.eu";
447 use = "external-web-service";
448 check_command = ["check_https" "mail.immae.eu" "/roundcube/" "<title>Roundcube"];
450 servicegroups = "webstatus-webapps,webstatus-email";
451 _webstatus_name = "Roundcube";
452 _webstatus_url = "https://mail.immae.eu/roundcube/";
456 service_description = "dokuwiki website is running on tools.immae.eu";
457 host_name = "eldiron.immae.eu";
458 use = "external-web-service";
459 check_command = ["check_https" "tools.immae.eu" "/dokuwiki/" "<title>start"];
461 servicegroups = "webstatus-webapps";
462 _webstatus_name = "Dokuwiki";
463 _webstatus_url = "https://tools.immae.eu/dokuwiki/";
467 service_description = "shaarli website is running on tools.immae.eu";
468 host_name = "eldiron.immae.eu";
469 use = "external-web-service";
470 check_command = ["check_https" "tools.immae.eu" "/Shaarli/immae" "<title>Immae"];
472 servicegroups = "webstatus-webapps";
473 _webstatus_name = "Shaarli";
474 _webstatus_url = "https://tools.immae.eu/Shaarli/";
478 service_description = "ldap website is running on tools.immae.eu";
479 host_name = "eldiron.immae.eu";
480 use = "external-web-service";
481 check_command = ["check_https" "tools.immae.eu" "/ldap/" "<title>phpLDAPadmin"];
483 servicegroups = "webstatus-webapps";
484 _webstatus_name = "LDAP";
485 _webstatus_url = "https://tools.immae.eu/ldap/";
489 service_description = "gitweb website is running on git.immae.eu";
490 host_name = "eldiron.immae.eu";
491 use = "external-web-service";
492 check_command = ["check_https" "git.immae.eu" "/cgit" "<title>Immae’s git"];
494 servicegroups = "webstatus-webapps";
495 _webstatus_name = "Git";
496 _webstatus_url = "https://git.immae.eu/";
500 service_description = "mantisbt website is running on git.immae.eu";
501 host_name = "eldiron.immae.eu";
502 use = "external-web-service";
503 check_command = ["check_https" "git.immae.eu" "/mantisbt/" "<title>My View - MantisBT"];
505 servicegroups = "webstatus-webapps";
506 _webstatus_name = "Mantisbt";
507 _webstatus_url = "https://git.immae.eu/mantisbt";
511 service_description = "diaspora website is running on diaspora.immae.eu";
512 host_name = "eldiron.immae.eu";
513 use = "external-web-service";
514 check_command = ["check_https" "diaspora.immae.eu" "/" "is the online social world where you are in control"];
516 servicegroups = "webstatus-webapps";
517 _webstatus_name = "Diaspora";
518 _webstatus_url = "https://diaspora.immae.eu/";
522 service_description = "peertube website is running on peertube.immae.eu";
523 host_name = "eldiron.immae.eu";
524 use = "external-web-service";
525 check_command = ["check_https" "peertube.immae.eu" "/" "<title>Immae’s PeerTube"];
527 servicegroups = "webstatus-webapps";
528 _webstatus_name = "Peertube";
529 _webstatus_url = "https://peertube.immae.eu/";
533 service_description = "etherpad website is running on ether.immae.eu";
534 host_name = "eldiron.immae.eu";
535 use = "external-web-service";
536 check_command = ["check_https" "ether.immae.eu" "/" "<title>Etherpad"];
538 servicegroups = "webstatus-webapps";
539 _webstatus_name = "Etherpad";
540 _webstatus_url = "https://ether.immae.eu/";
544 service_description = "mediagoblin website is running on mgoblin.immae.eu";
545 host_name = "eldiron.immae.eu";
546 use = "external-web-service";
547 check_command = ["check_https" "mgoblin.immae.eu" "/" "<title>GNU MediaGoblin"];
549 servicegroups = "webstatus-webapps";
550 _webstatus_name = "Mediagoblin";
551 _webstatus_url = "https://mgoblin.immae.eu/";
555 service_description = "mastodon website is running on mastodon.immae.eu";
556 host_name = "eldiron.immae.eu";
557 use = "external-web-service";
558 check_command = ["check_https" "mastodon.immae.eu" "/" "Mastodon</title>"];
560 servicegroups = "webstatus-webapps";
561 _webstatus_name = "Mastodon";
562 _webstatus_url = "https://mastodon.immae.eu/";
567 service_description = "Jerome website is running on naturaloutil.immae.eu";
568 host_name = "eldiron.immae.eu";
569 use = "external-web-service";
570 check_command = ["check_https" "naturaloutil.immae.eu" "/ping.php" "YES"];
572 servicegroups = "webstatus-websites";
573 _webstatus_name = "naturaloutil.immae.eu";
574 _webstatus_url = "https://naturaloutil.immae.eu/";
578 service_description = "Telio website is running on realistesmedia.fr";
579 host_name = "eldiron.immae.eu";
580 use = "external-web-service";
581 check_command = ["check_https" "realistesmedia.fr" "/" "doctype html"];
582 contact_groups = "telio-tortay";
586 service_description = "Chloe website site is running on osteopathe-cc.fr";
587 host_name = "eldiron.immae.eu";
588 use = "external-web-service";
589 check_command = ["check_https" "www.osteopathe-cc.fr" "/" "<title>Chloé Condamin ostéopathe D.O."];
591 servicegroups = "webstatus-websites";
592 _webstatus_name = "osteopathe-cc.fr";
593 _webstatus_url = "https://www.osteopathe-cc.fr/";
597 service_description = "Richie website is running on europe-richie.org";
598 host_name = "eldiron.immae.eu";
599 use = "external-web-service";
600 check_command = ["check_https" "www.europe-richie.org" "/" "<title>.Europe Richie]"];
602 servicegroups = "webstatus-websites";
603 _webstatus_name = "europe-richie.org";
604 _webstatus_url = "https://www.europe-richie.org/";
608 service_description = "Ludivine website site is running on ludivinecassal.com";
609 host_name = "eldiron.immae.eu";
610 use = "external-web-service";
611 check_command = ["check_https" "www.ludivinecassal.com" "/" "<title>Ludivine Cassal"];
613 servicegroups = "webstatus-websites";
614 _webstatus_name = "ludivinecassal.com";
615 _webstatus_url = "https://www.ludivinecassal.com/";
619 service_description = "Aten website site is running on aten.pro";
620 host_name = "eldiron.immae.eu";
621 use = "external-web-service";
622 check_command = ["check_https" "aten.pro" "/" "<title>ATEN"];
624 servicegroups = "webstatus-websites";
625 _webstatus_name = "aten.pro";
626 _webstatus_url = "https://aten.pro/";
630 service_description = "PiedsJaloux website site is running on piedsjaloux.fr";
631 host_name = "eldiron.immae.eu";
632 use = "external-web-service";
633 check_command = ["check_https" "www.piedsjaloux.fr" "/" "<title>Les Pieds Jaloux"];
635 servicegroups = "webstatus-websites";
636 _webstatus_name = "piedsjaloux.fr";
637 _webstatus_url = "https://www.piedsjaloux.fr/";
641 service_description = "Denise and Jerome website site is running on denisejerome.piedsjaloux.fr";
642 host_name = "eldiron.immae.eu";
643 use = "external-web-service";
644 check_command = ["check_https" "denisejerome.piedsjaloux.fr" "/" "<title>Accueil - Mariage"];
646 servicegroups = "webstatus-websites";
647 _webstatus_name = "denisejerome.piedsjaloux.fr";
648 _webstatus_url = "https://denisejerome.piedsjaloux.fr/";
652 service_description = "Connexionswing website site is running on connexionswing.com";
653 host_name = "eldiron.immae.eu";
654 use = "external-web-service";
655 check_command = ["check_https" "www.connexionswing.com" "/" "<title>Cours, stages"];
657 servicegroups = "webstatus-websites";
658 _webstatus_name = "connexionswing.com";
659 _webstatus_url = "https://www.connexionswing.com/";
663 service_description = "Sandetludo website site is running on sandetludo.com";
664 host_name = "eldiron.immae.eu";
665 use = "external-web-service";
666 check_command = ["check_https" "www.sandetludo.com" "/" "<title>Cours de West Coast"];
668 servicegroups = "webstatus-websites";
669 _webstatus_name = "sandetludo.com";
670 _webstatus_url = "https://www.sandetludo.com/";
675 service_description = "ldap SSL is up to date";
676 host_name = "eldiron.immae.eu";
677 use = "external-service";
678 check_command = ["check_tcp_ssl" "636"];
680 servicegroups = "webstatus-ssl";
681 _webstatus_name = "LDAP";
682 _webstatus_url = "ldap.immae.eu";
687 service_description = "Origny page is running on ipv4";
688 host_name = "tiboqorl.fr";
689 use = "external-web-service";
690 contact_groups = "tiboqorl";
691 check_command = [ "check_https_4" "origny.tiboqorl.fr" "/" "<title>Home Assistant" ];
692 _webstatus_namespace = "tiboqorl";
695 service_description = "Origny page is running on ipv6";
696 host_name = "tiboqorl.fr";
697 use = "external-web-service";
698 contact_groups = "tiboqorl";
699 check_command = [ "check_https_6" "origny.tiboqorl.fr" "/" "<title>Home Assistant" ];
700 _webstatus_namespace = "tiboqorl";
704 telio-tortay = config.myEnv.monitoring.contacts.telio-tortay // {
705 use = "generic-contact";
706 contactgroups = "telio-tortay";
708 thibault = config.myEnv.monitoring.contacts.thibault // {
709 use = "generic-contact";
710 contactgroups = "tiboqorl";
714 telio-tortay = { alias = "Telio Tortay"; members = "immae"; };
715 tiboqorl = { alias = "Tiboqorl"; members = ""; };