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 # address = "dummy.host";
9 # use = "linux-server";
10 # check_command = "check_ok";
14 # Dummy service for testing
16 # service_description = "Dummy failing test";
17 # host_name = "dummy-host";
18 # use = "local-service";
19 # check_interval = "0.3";
20 # max_check_attempts = "1";
21 # flap_detection_enabled = "0";
22 # notification_interval = "0.1";
23 # check_command = "check_critical";
26 (emailCheck "monitoring-1" hostFQDN)
29 service_description = "ftp has access to database for authentication";
30 host_name = "eldiron.immae.eu";
31 use = "external-service";
32 check_command = "check_ftp_database";
34 servicegroups = "webstatus-remote-services";
35 _webstatus_name = "FTP";
36 _webstatus_url = "ftp.immae.eu";
40 service_description = "gitolite is working";
41 host_name = "eldiron.immae.eu";
42 use = "external-web-service";
43 check_command = "check_git";
45 servicegroups = "webstatus-remote-services";
46 _webstatus_name = "Git";
47 _webstatus_url = "git.immae.eu";
51 service_description = "postfix SSL is up to date";
52 host_name = "eldiron.immae.eu";
53 use = "external-service";
54 check_command = "check_smtp";
56 servicegroups = "webstatus-ssl";
57 _webstatus_name = "SMTP";
58 _webstatus_url = "smtp.immae.eu";
62 service_description = "imap SSL is up to date";
63 host_name = "eldiron.immae.eu";
64 use = "external-service";
65 check_command = ["check_tcp_ssl" "993"];
67 servicegroups = "webstatus-ssl";
68 _webstatus_name = "IMAP";
69 _webstatus_url = "imap.immae.eu";
73 service_description = "imap connection works";
74 host_name = "eldiron.immae.eu";
75 use = "external-service";
76 check_command = "check_imap_connection";
78 servicegroups = "webstatus-remote-services,webstatus-email";
79 _webstatus_name = "IMAP";
80 _webstatus_url = "imap.immae.eu";
83 # Third party services
85 service_description = "OVH account has enough sms";
86 host_name = "eldiron.immae.eu";
87 use = "external-service";
88 check_command = "check_ovh_sms";
90 check_interval = "120";
91 notification_interval = "1440";
96 # service_description = "eriomem backup is up and not full";
97 # host_name = "eldiron.immae.eu";
98 # use = "external-service";
99 # check_command = "check_backup_eriomem";
101 # check_interval = "120";
102 # notification_interval = "1440";
104 # servicegroups = "webstatus-backup";
107 service_description = "ovh backup is up and not full";
108 host_name = "eldiron.immae.eu";
109 use = "external-service";
110 check_command = "check_ok";
112 check_interval = "120";
113 notification_interval = "1440";
115 servicegroups = "webstatus-backup";
120 service_description = "eldiron dns is active and authoritative for aten.pro";
121 host_name = "eldiron.immae.eu";
123 check_command = ["check_dns" "aten.pro" "-A"];
125 servicegroups = "webstatus-dns";
126 _webstatus_name = "aten.pro";
130 service_description = "eldiron dns is active and authoritative for bouya.org";
131 host_name = "eldiron.immae.eu";
133 check_command = ["check_dns" "bouya.org" "-A"];
135 servicegroups = "webstatus-dns";
136 _webstatus_name = "bouya.org";
140 service_description = "eldiron dns is active and authoritative for filedesreves.fr";
141 host_name = "eldiron.immae.eu";
143 check_command = ["check_dns" "filedesreves.fr" "-A"];
145 servicegroups = "webstatus-dns";
146 _webstatus_name = "filedesreves.fr";
150 service_description = "eldiron dns is active and authoritative for ludivinecassal.com";
151 host_name = "eldiron.immae.eu";
153 check_command = ["check_dns" "ludivinecassal.com" "-A"];
155 servicegroups = "webstatus-dns";
156 _webstatus_name = "ludivinecassal.com";
160 service_description = "eldiron dns is active and authoritative for icommandeur.org";
161 host_name = "eldiron.immae.eu";
163 check_command = ["check_dns" "icommandeur.org" "-A"];
165 servicegroups = "webstatus-dns";
166 _webstatus_name = "icommandeur.org";
170 service_description = "eldiron dns is active and authoritative for immae.eu";
171 host_name = "eldiron.immae.eu";
173 check_command = ["check_dns" "immae.eu" "-A"];
175 servicegroups = "webstatus-dns";
176 _webstatus_name = "immae.eu";
180 service_description = "eldiron dns is active and authoritative for immae.fr";
181 host_name = "eldiron.immae.eu";
183 check_command = ["check_dns" "immae.fr" "-A"];
185 servicegroups = "webstatus-dns";
186 _webstatus_name = "immae.fr";
190 service_description = "eldiron dns is active and authoritative for piedsjaloux.fr";
191 host_name = "eldiron.immae.eu";
193 check_command = ["check_dns" "piedsjaloux.fr" "-A"];
195 servicegroups = "webstatus-dns";
196 _webstatus_name = "piedsjaloux.fr";
200 service_description = "eldiron dns is active and authoritative for saison-photo.org";
201 host_name = "eldiron.immae.eu";
203 check_command = ["check_dns" "saison-photo.org" "-A"];
205 servicegroups = "webstatus-dns";
206 _webstatus_name = "saison-photo.org";
210 service_description = "eldiron dns is active and authoritative for tellesflorian.com";
211 host_name = "eldiron.immae.eu";
213 check_command = ["check_dns" "tellesflorian.com" "-A"];
215 servicegroups = "webstatus-dns";
216 _webstatus_name = "tellesflorian.com";
220 service_description = "eldiron dns is active and authoritative for capitaines.fr";
221 host_name = "eldiron.immae.eu";
223 check_command = ["check_dns" "capitaines.fr" "-A"];
225 servicegroups = "webstatus-dns";
226 _webstatus_name = "capitaines.fr";
230 service_description = "cloudns dns is active and authoritative for aten.pro";
231 host_name = "eldiron.immae.eu";
233 check_command = ["check_external_dns" "pns1.cloudns.net" "aten.pro" "-A"];
235 servicegroups = "webstatus-dns";
236 _webstatus_name = "aten.pro (Secondary DNS ClouDNS)";
240 service_description = "cloudns dns is active and authoritative for bouya.org";
241 host_name = "eldiron.immae.eu";
243 check_command = ["check_external_dns" "pns1.cloudns.net" "bouya.org" "-A"];
245 servicegroups = "webstatus-dns";
246 _webstatus_name = "bouya.org (Secondary DNS ClouDNS)";
250 service_description = "cloudns dns is active and authoritative for filedesreves.fr";
251 host_name = "eldiron.immae.eu";
253 check_command = ["check_external_dns" "pns1.cloudns.net" "filedesreves.fr" "-A"];
255 servicegroups = "webstatus-dns";
256 _webstatus_name = "filedesreves.fr (Secondary DNS ClouDNS)";
260 service_description = "cloudns dns is active and authoritative for ludivinecassal.com";
261 host_name = "eldiron.immae.eu";
263 check_command = ["check_external_dns" "pns1.cloudns.net" "ludivinecassal.com" "-A"];
265 servicegroups = "webstatus-dns";
266 _webstatus_name = "ludivinecassal.com (Secondary DNS ClouDNS)";
270 service_description = "cloudns dns is active and authoritative for icommandeur.org";
271 host_name = "eldiron.immae.eu";
273 check_command = ["check_external_dns" "pns1.cloudns.net" "icommandeur.org" "-A"];
275 servicegroups = "webstatus-dns";
276 _webstatus_name = "icommandeur.org (Secondary DNS ClouDNS)";
280 service_description = "cloudns dns is active and authoritative for immae.eu";
281 host_name = "eldiron.immae.eu";
283 check_command = ["check_external_dns" "pns1.cloudns.net" "immae.eu" "-A"];
285 servicegroups = "webstatus-dns";
286 _webstatus_name = "immae.eu (Secondary DNS ClouDNS)";
290 service_description = "cloudns dns is active and authoritative for immae.fr";
291 host_name = "eldiron.immae.eu";
293 check_command = ["check_external_dns" "pns1.cloudns.net" "immae.fr" "-A"];
295 servicegroups = "webstatus-dns";
296 _webstatus_name = "immae.fr (Secondary DNS ClouDNS)";
300 service_description = "cloudns dns is active and authoritative for piedsjaloux.fr";
301 host_name = "eldiron.immae.eu";
303 check_command = ["check_external_dns" "pns1.cloudns.net" "piedsjaloux.fr" "-A"];
305 servicegroups = "webstatus-dns";
306 _webstatus_name = "piedsjaloux.fr (Secondary DNS ClouDNS)";
310 service_description = "cloudns dns is active and authoritative for tellesflorian.com";
311 host_name = "eldiron.immae.eu";
313 check_command = ["check_external_dns" "pns1.cloudns.net" "tellesflorian.com" "-A"];
315 servicegroups = "webstatus-dns";
316 _webstatus_name = "tellesflorian.com (Secondary DNS ClouDNS)";
320 service_description = "cloudns dns is active and authoritative for saison-photo.org";
321 host_name = "eldiron.immae.eu";
323 check_command = ["check_external_dns" "pns1.cloudns.net" "saison-photo.org" "-A"];
325 servicegroups = "webstatus-dns";
326 _webstatus_name = "saison-photo.org (Secondary DNS ClouDNS)";
331 service_description = "blog website is running on immae.eu";
332 host_name = "eldiron.immae.eu";
333 use = "external-web-service";
334 check_command = ["check_https" "www.immae.eu" "/blog/" "egrep -ri TODO /etc"];
336 servicegroups = "webstatus-websites";
337 _webstatus_name = "Immae’s Blog";
338 _webstatus_url = "https://www.immae.eu/blog";
342 service_description = "owncloud website is running on cloud.immae.eu";
343 host_name = "eldiron.immae.eu";
344 use = "external-web-service";
345 check_command = ["check_https" "cloud.immae.eu" "/" "a safe home for all your data"];
347 servicegroups = "webstatus-webapps";
348 _webstatus_name = "Nextcloud";
349 _webstatus_url = "https://cloud.immae.eu";
353 service_description = "nextcloud website is running on nextcloud.4c.salle-s.org";
354 host_name = "quatresaisons.immae.eu";
355 use = "external-web-service";
356 check_command = ["check_https" "nextcloud.4c.salle-s.org" "/" "a safe home for all your data"];
358 servicegroups = "webstatus-webapps";
359 _webstatus_name = "Nextcloud";
360 _webstatus_url = "https://nextcloud.4c.salle-s.org";
364 service_description = "davical website is running on dav.immae.eu";
365 host_name = "eldiron.immae.eu";
366 use = "external-web-service";
367 check_command = ["check_https" "dav.immae.eu" "/davical/" "Log On Please"];
369 servicegroups = "webstatus-webapps";
370 _webstatus_name = "Davical";
371 _webstatus_url = "https://dav.immae.eu/davical";
375 service_description = "adminer website is running on tools.immae.eu";
376 host_name = "eldiron.immae.eu";
377 use = "external-web-service";
378 check_command = ["check_https_auth" "tools.immae.eu" "/adminer/" "www.adminer.org"];
380 servicegroups = "webstatus-webapps";
381 _webstatus_name = "Adminer";
382 _webstatus_url = "https://tools.immae.eu/adminer/";
386 service_description = "ttrss website is running on tools.immae.eu";
387 host_name = "eldiron.immae.eu";
388 use = "external-web-service";
389 check_command = ["check_https" "tools.immae.eu" "/ttrss/" "<title>Tiny Tiny RSS"];
391 servicegroups = "webstatus-webapps";
392 _webstatus_name = "TT-RSS";
393 _webstatus_url = "https://tools.immae.eu/ttrss/";
397 service_description = "mpd website is running on tools.immae.eu";
398 host_name = "eldiron.immae.eu";
399 use = "external-web-service";
400 check_command = ["check_https_auth" "tools.immae.eu" "/mpd/" "<title>ympd"];
402 servicegroups = "webstatus-webapps";
403 _webstatus_name = "MPD (YMPD)";
404 _webstatus_url = "https://tools.immae.eu/mpd/";
408 service_description = "rompr mpd website is running on tools.immae.eu";
409 host_name = "eldiron.immae.eu";
410 use = "external-web-service";
411 check_command = ["check_https_auth" "tools.immae.eu" "/rompr/" "<title>RompЯ"];
413 servicegroups = "webstatus-webapps";
414 _webstatus_name = "MPD (ROMPR)";
415 _webstatus_url = "https://tools.immae.eu/rompr/";
419 service_description = "wallabag website is running on tools.immae.eu";
420 host_name = "eldiron.immae.eu";
421 use = "external-web-service";
422 check_command = ["check_https" "tools.immae.eu" "/wallabag/" "<title>Bienvenue sur wallabag"];
424 servicegroups = "webstatus-webapps";
425 _webstatus_name = "Wallabag";
426 _webstatus_url = "https://tools.immae.eu/wallabag/";
430 service_description = "yourl website is running on tools.immae.eu";
431 host_name = "eldiron.immae.eu";
432 use = "external-web-service";
433 check_command = ["check_https" "tools.immae.eu" "/url/admin/" "<title>YOURLS"];
435 servicegroups = "webstatus-webapps";
436 _webstatus_name = "YOURLS";
437 _webstatus_url = "https://tools.immae.eu/url/admin/";
441 service_description = "roundcube website is running on mail.immae.eu";
442 host_name = "eldiron.immae.eu";
443 use = "external-web-service";
444 check_command = ["check_https" "mail.immae.eu" "/roundcube/" "<title>Roundcube"];
446 servicegroups = "webstatus-webapps,webstatus-email";
447 _webstatus_name = "Roundcube";
448 _webstatus_url = "https://mail.immae.eu/roundcube/";
452 service_description = "dokuwiki website is running on tools.immae.eu";
453 host_name = "eldiron.immae.eu";
454 use = "external-web-service";
455 check_command = ["check_https" "tools.immae.eu" "/dokuwiki/" "<title>start"];
457 servicegroups = "webstatus-webapps";
458 _webstatus_name = "Dokuwiki";
459 _webstatus_url = "https://tools.immae.eu/dokuwiki/";
463 service_description = "shaarli website is running on tools.immae.eu";
464 host_name = "eldiron.immae.eu";
465 use = "external-web-service";
466 check_command = ["check_https" "tools.immae.eu" "/Shaarli/immae" "<title>Immae"];
468 servicegroups = "webstatus-webapps";
469 _webstatus_name = "Shaarli";
470 _webstatus_url = "https://tools.immae.eu/Shaarli/";
474 service_description = "ldap website is running on tools.immae.eu";
475 host_name = "eldiron.immae.eu";
476 use = "external-web-service";
477 check_command = ["check_https" "tools.immae.eu" "/ldap/" "<title>phpLDAPadmin"];
479 servicegroups = "webstatus-webapps";
480 _webstatus_name = "LDAP";
481 _webstatus_url = "https://tools.immae.eu/ldap/";
485 service_description = "gitweb website is running on git.immae.eu";
486 host_name = "eldiron.immae.eu";
487 use = "external-web-service";
488 check_command = ["check_https" "git.immae.eu" "/cgit" "<title>Immae’s git"];
490 servicegroups = "webstatus-webapps";
491 _webstatus_name = "Git";
492 _webstatus_url = "https://git.immae.eu/";
496 service_description = "mantisbt website is running on git.immae.eu";
497 host_name = "eldiron.immae.eu";
498 use = "external-web-service";
499 check_command = ["check_https" "git.immae.eu" "/mantisbt/" "<title>My View - MantisBT"];
501 servicegroups = "webstatus-webapps";
502 _webstatus_name = "Mantisbt";
503 _webstatus_url = "https://git.immae.eu/mantisbt";
507 service_description = "diaspora website is running on diaspora.immae.eu";
508 host_name = "eldiron.immae.eu";
509 use = "external-web-service";
510 check_command = ["check_https" "diaspora.immae.eu" "/" "is the online social world where you are in control"];
512 servicegroups = "webstatus-webapps";
513 _webstatus_name = "Diaspora";
514 _webstatus_url = "https://diaspora.immae.eu/";
518 service_description = "peertube website is running on peertube.immae.eu";
519 host_name = "eldiron.immae.eu";
520 use = "external-web-service";
521 check_command = ["check_https" "peertube.immae.eu" "/" "<title>Immae’s PeerTube"];
523 servicegroups = "webstatus-webapps";
524 _webstatus_name = "Peertube";
525 _webstatus_url = "https://peertube.immae.eu/";
529 service_description = "etherpad website is running on ether.immae.eu";
530 host_name = "eldiron.immae.eu";
531 use = "external-web-service";
532 check_command = ["check_https" "ether.immae.eu" "/" "<title>Etherpad"];
534 servicegroups = "webstatus-webapps";
535 _webstatus_name = "Etherpad";
536 _webstatus_url = "https://ether.immae.eu/";
540 service_description = "mediagoblin website is running on mgoblin.immae.eu";
541 host_name = "eldiron.immae.eu";
542 use = "external-web-service";
543 check_command = ["check_https" "mgoblin.immae.eu" "/" "<title>GNU MediaGoblin"];
545 servicegroups = "webstatus-webapps";
546 _webstatus_name = "Mediagoblin";
547 _webstatus_url = "https://mgoblin.immae.eu/";
551 service_description = "mastodon website is running on mastodon.immae.eu";
552 host_name = "eldiron.immae.eu";
553 use = "external-web-service";
554 check_command = ["check_https" "mastodon.immae.eu" "/" "Mastodon</title>"];
556 servicegroups = "webstatus-webapps";
557 _webstatus_name = "Mastodon";
558 _webstatus_url = "https://mastodon.immae.eu/";
563 service_description = "Jerome website is running on naturaloutil.immae.eu";
564 host_name = "eldiron.immae.eu";
565 use = "external-web-service";
566 check_command = ["check_https" "naturaloutil.immae.eu" "/ping.php" "YES"];
568 servicegroups = "webstatus-websites";
569 _webstatus_name = "naturaloutil.immae.eu";
570 _webstatus_url = "https://naturaloutil.immae.eu/";
574 service_description = "Telio website is running on realistesmedia.fr";
575 host_name = "eldiron.immae.eu";
576 use = "external-web-service";
577 check_command = ["check_https" "realistesmedia.fr" "/" "doctype html"];
578 contact_groups = "telio-tortay";
582 service_description = "Chloe website site is running on osteopathe-cc.fr";
583 host_name = "eldiron.immae.eu";
584 use = "external-web-service";
585 check_command = ["check_https" "www.osteopathe-cc.fr" "/" "<title>Chloé Condamin ostéopathe D.O."];
587 servicegroups = "webstatus-websites";
588 _webstatus_name = "osteopathe-cc.fr";
589 _webstatus_url = "https://www.osteopathe-cc.fr/";
593 service_description = "Richie website is running on europe-richie.org";
594 host_name = "eldiron.immae.eu";
595 use = "external-web-service";
596 check_command = ["check_https" "www.europe-richie.org" "/" "<title>.Europe Richie]"];
598 servicegroups = "webstatus-websites";
599 _webstatus_name = "europe-richie.org";
600 _webstatus_url = "https://www.europe-richie.org/";
604 service_description = "Ludivine website site is running on ludivinecassal.com";
605 host_name = "eldiron.immae.eu";
606 use = "external-web-service";
607 check_command = ["check_https" "www.ludivinecassal.com" "/" "<title>Ludivine Cassal"];
609 servicegroups = "webstatus-websites";
610 _webstatus_name = "ludivinecassal.com";
611 _webstatus_url = "https://www.ludivinecassal.com/";
615 service_description = "Aten website site is running on aten.pro";
616 host_name = "eldiron.immae.eu";
617 use = "external-web-service";
618 check_command = ["check_https" "aten.pro" "/" "<title>ATEN"];
620 servicegroups = "webstatus-websites";
621 _webstatus_name = "aten.pro";
622 _webstatus_url = "https://aten.pro/";
626 service_description = "PiedsJaloux website site is running on piedsjaloux.fr";
627 host_name = "eldiron.immae.eu";
628 use = "external-web-service";
629 check_command = ["check_https" "www.piedsjaloux.fr" "/" "<title>Les Pieds Jaloux"];
631 servicegroups = "webstatus-websites";
632 _webstatus_name = "piedsjaloux.fr";
633 _webstatus_url = "https://www.piedsjaloux.fr/";
637 service_description = "Denise and Jerome website site is running on denisejerome.piedsjaloux.fr";
638 host_name = "eldiron.immae.eu";
639 use = "external-web-service";
640 check_command = ["check_https" "denisejerome.piedsjaloux.fr" "/" "<title>Accueil - Mariage"];
642 servicegroups = "webstatus-websites";
643 _webstatus_name = "denisejerome.piedsjaloux.fr";
644 _webstatus_url = "https://denisejerome.piedsjaloux.fr/";
648 service_description = "Connexionswing website site is running on connexionswing.com";
649 host_name = "eldiron.immae.eu";
650 use = "external-web-service";
651 check_command = ["check_https" "www.connexionswing.com" "/" "<title>Cours, stages"];
653 servicegroups = "webstatus-websites";
654 _webstatus_name = "connexionswing.com";
655 _webstatus_url = "https://www.connexionswing.com/";
659 service_description = "Sandetludo website site is running on sandetludo.com";
660 host_name = "eldiron.immae.eu";
661 use = "external-web-service";
662 check_command = ["check_https" "www.sandetludo.com" "/" "<title>Cours de West Coast"];
664 servicegroups = "webstatus-websites";
665 _webstatus_name = "sandetludo.com";
666 _webstatus_url = "https://www.sandetludo.com/";
671 service_description = "ldap SSL is up to date";
672 host_name = "eldiron.immae.eu";
673 use = "external-service";
674 check_command = ["check_tcp_ssl" "636"];
676 servicegroups = "webstatus-ssl";
677 _webstatus_name = "LDAP";
678 _webstatus_url = "ldap.immae.eu";
683 service_description = "Origny page is running";
684 host_name = "tiboqorl.fr";
685 use = "external-web-service";
686 contact_groups = "tiboqorl";
687 check_command = [ "check_https" "origny.tiboqorl.fr" "/" "<title>Home Assistant" ];
688 _webstatus_namespace = "tiboqorl";
692 telio-tortay = config.myEnv.monitoring.contacts.telio-tortay // {
693 use = "generic-contact";
694 contactgroups = "telio-tortay";
696 thibault = config.myEnv.monitoring.contacts.thibault // {
697 use = "generic-contact";
698 contactgroups = "tiboqorl";
702 telio-tortay = { alias = "Telio Tortay"; members = "immae"; };
703 tiboqorl = { alias = "Tiboqorl"; members = ""; };