]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - modules/private/monitoring/objects_monitoring-1.nix
Add monitoring host
[perso/Immae/Config/Nix.git] / modules / private / monitoring / objects_monitoring-1.nix
1 { config, pkgs, ... }:
2 {
3 host = {
4 # Dummy host for testing
5 # "dummy-host" = {
6 # alias = "dummy.host";
7 # address = "dummy.host";
8 # use = "linux-server";
9 # check_command = "check_ok";
10 # };
11 };
12 service = [
13 # Dummy service for testing
14 # {
15 # service_description = "Dummy failing test";
16 # host_name = "dummy-host";
17 # use = "local-service";
18 # check_interval = "0.3";
19 # max_check_attempts = "1";
20 # flap_detection_enabled = "0";
21 # notification_interval = "0.1";
22 # check_command = "check_critical";
23 # }
24
25 {
26 service_description = "ftp has access to database for authentication";
27 host_name = "eldiron.immae.eu";
28 use = "external-service";
29 check_command = "check_ftp_database";
30
31 servicegroups = "webstatus-remote-services";
32 _webstatus_name = "FTP";
33 _webstatus_url = "ftp.immae.eu";
34 }
35
36 {
37 service_description = "gitolite is working";
38 host_name = "eldiron.immae.eu";
39 use = "external-web-service";
40 check_command = "check_git";
41
42 servicegroups = "webstatus-remote-services";
43 _webstatus_name = "Git";
44 _webstatus_url = "git.immae.eu";
45 }
46
47 {
48 service_description = "postfix SSL is up to date";
49 host_name = "eldiron.immae.eu";
50 use = "external-service";
51 check_command = "check_smtp";
52
53 servicegroups = "webstatus-ssl";
54 _webstatus_name = "SMTP";
55 _webstatus_url = "smtp.immae.eu";
56 }
57
58 {
59 service_description = "imap SSL is up to date";
60 host_name = "eldiron.immae.eu";
61 use = "external-service";
62 check_command = ["check_tcp_ssl" "993"];
63
64 servicegroups = "webstatus-ssl";
65 _webstatus_name = "IMAP";
66 _webstatus_url = "imap.immae.eu";
67 }
68
69 {
70 service_description = "imap connection works";
71 host_name = "eldiron.immae.eu";
72 use = "external-service";
73 check_command = "check_imap_connection";
74
75 servicegroups = "webstatus-remote-services,webstatus-email";
76 _webstatus_name = "IMAP";
77 _webstatus_url = "imap.immae.eu";
78 }
79
80 # DNS services
81 {
82 service_description = "eldiron dns is active and authoritative for aten.pro";
83 host_name = "eldiron.immae.eu";
84 use = "dns-service";
85 check_command = ["check_dns" "aten.pro" "-A"];
86
87 servicegroups = "webstatus-dns";
88 _webstatus_name = "aten.pro";
89 }
90
91 {
92 service_description = "eldiron dns is active and authoritative for bouya.org";
93 host_name = "eldiron.immae.eu";
94 use = "dns-service";
95 check_command = ["check_dns" "bouya.org" "-A"];
96
97 servicegroups = "webstatus-dns";
98 _webstatus_name = "bouya.org";
99 }
100
101 {
102 service_description = "eldiron dns is active and authoritative for filedesreves.fr";
103 host_name = "eldiron.immae.eu";
104 use = "dns-service";
105 check_command = ["check_dns" "filedesreves.fr" "-A"];
106
107 servicegroups = "webstatus-dns";
108 _webstatus_name = "filedesreves.fr";
109 }
110
111 {
112 service_description = "eldiron dns is active and authoritative for ludivinecassal.com";
113 host_name = "eldiron.immae.eu";
114 use = "dns-service";
115 check_command = ["check_dns" "ludivinecassal.com" "-A"];
116
117 servicegroups = "webstatus-dns";
118 _webstatus_name = "ludivinecassal.com";
119 }
120
121 {
122 service_description = "eldiron dns is active and authoritative for icommandeur.org";
123 host_name = "eldiron.immae.eu";
124 use = "dns-service";
125 check_command = ["check_dns" "icommandeur.org" "-A"];
126
127 servicegroups = "webstatus-dns";
128 _webstatus_name = "icommandeur.org";
129 }
130
131 {
132 service_description = "eldiron dns is active and authoritative for immae.eu";
133 host_name = "eldiron.immae.eu";
134 use = "dns-service";
135 check_command = ["check_dns" "immae.eu" "-A"];
136
137 servicegroups = "webstatus-dns";
138 _webstatus_name = "immae.eu";
139 }
140
141 {
142 service_description = "eldiron dns is active and authoritative for immae.fr";
143 host_name = "eldiron.immae.eu";
144 use = "dns-service";
145 check_command = ["check_dns" "immae.fr" "-A"];
146
147 servicegroups = "webstatus-dns";
148 _webstatus_name = "immae.fr";
149 }
150
151 {
152 service_description = "eldiron dns is active and authoritative for piedsjaloux.fr";
153 host_name = "eldiron.immae.eu";
154 use = "dns-service";
155 check_command = ["check_dns" "piedsjaloux.fr" "-A"];
156
157 servicegroups = "webstatus-dns";
158 _webstatus_name = "piedsjaloux.fr";
159 }
160
161 {
162 service_description = "eldiron dns is active and authoritative for saison-photo.org";
163 host_name = "eldiron.immae.eu";
164 use = "dns-service";
165 check_command = ["check_dns" "saison-photo.org" "-A"];
166
167 servicegroups = "webstatus-dns";
168 _webstatus_name = "saison-photo.org";
169 }
170
171 {
172 service_description = "eldiron dns is active and authoritative for tellesflorian.com";
173 host_name = "eldiron.immae.eu";
174 use = "dns-service";
175 check_command = ["check_dns" "tellesflorian.com" "-A"];
176
177 servicegroups = "webstatus-dns";
178 _webstatus_name = "tellesflorian.com";
179 }
180
181 {
182 service_description = "eldiron dns is active and authoritative for capitaines.fr";
183 host_name = "eldiron.immae.eu";
184 use = "dns-service";
185 check_command = ["check_dns" "capitaines.fr" "-A"];
186
187 servicegroups = "webstatus-dns";
188 _webstatus_name = "capitaines.fr";
189 }
190
191 {
192 service_description = "cloudns dns is active and authoritative for aten.pro";
193 host_name = "eldiron.immae.eu";
194 use = "dns-service";
195 check_command = ["check_external_dns" "pns1.cloudns.net" "aten.pro" "-A"];
196
197 servicegroups = "webstatus-dns";
198 _webstatus_name = "aten.pro (Secondary DNS ClouDNS)";
199 }
200
201 {
202 service_description = "cloudns dns is active and authoritative for bouya.org";
203 host_name = "eldiron.immae.eu";
204 use = "dns-service";
205 check_command = ["check_external_dns" "pns1.cloudns.net" "bouya.org" "-A"];
206
207 servicegroups = "webstatus-dns";
208 _webstatus_name = "bouya.org (Secondary DNS ClouDNS)";
209 }
210
211 {
212 service_description = "cloudns dns is active and authoritative for filedesreves.fr";
213 host_name = "eldiron.immae.eu";
214 use = "dns-service";
215 check_command = ["check_external_dns" "pns1.cloudns.net" "filedesreves.fr" "-A"];
216
217 servicegroups = "webstatus-dns";
218 _webstatus_name = "filedesreves.fr (Secondary DNS ClouDNS)";
219 }
220
221 {
222 service_description = "cloudns dns is active and authoritative for ludivinecassal.com";
223 host_name = "eldiron.immae.eu";
224 use = "dns-service";
225 check_command = ["check_external_dns" "pns1.cloudns.net" "ludivinecassal.com" "-A"];
226
227 servicegroups = "webstatus-dns";
228 _webstatus_name = "ludivinecassal.com (Secondary DNS ClouDNS)";
229 }
230
231 {
232 service_description = "cloudns dns is active and authoritative for icommandeur.org";
233 host_name = "eldiron.immae.eu";
234 use = "dns-service";
235 check_command = ["check_external_dns" "pns1.cloudns.net" "icommandeur.org" "-A"];
236
237 servicegroups = "webstatus-dns";
238 _webstatus_name = "icommandeur.org (Secondary DNS ClouDNS)";
239 }
240
241 {
242 service_description = "cloudns dns is active and authoritative for immae.eu";
243 host_name = "eldiron.immae.eu";
244 use = "dns-service";
245 check_command = ["check_external_dns" "pns1.cloudns.net" "immae.eu" "-A"];
246
247 servicegroups = "webstatus-dns";
248 _webstatus_name = "immae.eu (Secondary DNS ClouDNS)";
249 }
250
251 {
252 service_description = "cloudns dns is active and authoritative for immae.fr";
253 host_name = "eldiron.immae.eu";
254 use = "dns-service";
255 check_command = ["check_external_dns" "pns1.cloudns.net" "immae.fr" "-A"];
256
257 servicegroups = "webstatus-dns";
258 _webstatus_name = "immae.fr (Secondary DNS ClouDNS)";
259 }
260
261 {
262 service_description = "cloudns dns is active and authoritative for piedsjaloux.fr";
263 host_name = "eldiron.immae.eu";
264 use = "dns-service";
265 check_command = ["check_external_dns" "pns1.cloudns.net" "piedsjaloux.fr" "-A"];
266
267 servicegroups = "webstatus-dns";
268 _webstatus_name = "piedsjaloux.fr (Secondary DNS ClouDNS)";
269 }
270
271 {
272 service_description = "cloudns dns is active and authoritative for tellesflorian.com";
273 host_name = "eldiron.immae.eu";
274 use = "dns-service";
275 check_command = ["check_external_dns" "pns1.cloudns.net" "tellesflorian.com" "-A"];
276
277 servicegroups = "webstatus-dns";
278 _webstatus_name = "tellesflorian.com (Secondary DNS ClouDNS)";
279 }
280
281 {
282 service_description = "cloudns dns is active and authoritative for saison-photo.org";
283 host_name = "eldiron.immae.eu";
284 use = "dns-service";
285 check_command = ["check_external_dns" "pns1.cloudns.net" "saison-photo.org" "-A"];
286
287 servicegroups = "webstatus-dns";
288 _webstatus_name = "saison-photo.org (Secondary DNS ClouDNS)";
289 }
290
291 #### Web scenarios
292 {
293 service_description = "blog website is running on immae.eu";
294 host_name = "eldiron.immae.eu";
295 use = "external-web-service";
296 check_command = ["check_https" "www.immae.eu" "/blog/" "egrep -ri TODO /etc"];
297
298 servicegroups = "webstatus-websites";
299 _webstatus_name = "Immae’s Blog";
300 _webstatus_url = "https://www.immae.eu/blog";
301 }
302
303 {
304 service_description = "owncloud website is running on cloud.immae.eu";
305 host_name = "eldiron.immae.eu";
306 use = "external-web-service";
307 check_command = ["check_https" "cloud.immae.eu" "/" "a safe home for all your data"];
308
309 servicegroups = "webstatus-webapps";
310 _webstatus_name = "Nextcloud";
311 _webstatus_url = "https://cloud.immae.eu";
312 }
313
314 {
315 service_description = "davical website is running on dav.immae.eu";
316 host_name = "eldiron.immae.eu";
317 use = "external-web-service";
318 check_command = ["check_https" "dav.immae.eu" "/davical/" "Log On Please"];
319
320 servicegroups = "webstatus-webapps";
321 _webstatus_name = "Davical";
322 _webstatus_url = "https://dav.immae.eu/davical";
323 }
324
325 {
326 service_description = "adminer website is running on tools.immae.eu";
327 host_name = "eldiron.immae.eu";
328 use = "external-web-service";
329 check_command = ["check_https_auth" "tools.immae.eu" "/adminer/" "www.adminer.org"];
330
331 servicegroups = "webstatus-webapps";
332 _webstatus_name = "Adminer";
333 _webstatus_url = "https://tools.immae.eu/adminer/";
334 }
335
336 {
337 service_description = "ttrss website is running on tools.immae.eu";
338 host_name = "eldiron.immae.eu";
339 use = "external-web-service";
340 check_command = ["check_https" "tools.immae.eu" "/ttrss/" "<title>Tiny Tiny RSS"];
341
342 servicegroups = "webstatus-webapps";
343 _webstatus_name = "TT-RSS";
344 _webstatus_url = "https://tools.immae.eu/ttrss/";
345 }
346
347 {
348 service_description = "mpd website is running on tools.immae.eu";
349 host_name = "eldiron.immae.eu";
350 use = "external-web-service";
351 check_command = ["check_https_auth" "tools.immae.eu" "/mpd/" "<title>ympd"];
352
353 servicegroups = "webstatus-webapps";
354 _webstatus_name = "MPD (YMPD)";
355 _webstatus_url = "https://tools.immae.eu/mpd/";
356 }
357
358 {
359 service_description = "rompr mpd website is running on tools.immae.eu";
360 host_name = "eldiron.immae.eu";
361 use = "external-web-service";
362 check_command = ["check_https_auth" "tools.immae.eu" "/rompr/" "<title>RompЯ"];
363
364 servicegroups = "webstatus-webapps";
365 _webstatus_name = "MPD (ROMPR)";
366 _webstatus_url = "https://tools.immae.eu/rompr/";
367 }
368
369 {
370 service_description = "wallabag website is running on tools.immae.eu";
371 host_name = "eldiron.immae.eu";
372 use = "external-web-service";
373 check_command = ["check_https" "tools.immae.eu" "/wallabag/" "<title>Bienvenue sur wallabag"];
374
375 servicegroups = "webstatus-webapps";
376 _webstatus_name = "Wallabag";
377 _webstatus_url = "https://tools.immae.eu/wallabag/";
378 }
379
380 {
381 service_description = "yourl website is running on tools.immae.eu";
382 host_name = "eldiron.immae.eu";
383 use = "external-web-service";
384 check_command = ["check_https" "tools.immae.eu" "/url/admin/" "<title>YOURLS"];
385
386 servicegroups = "webstatus-webapps";
387 _webstatus_name = "YOURLS";
388 _webstatus_url = "https://tools.immae.eu/url/admin/";
389 }
390
391 {
392 service_description = "roundcube website is running on mail.immae.eu";
393 host_name = "eldiron.immae.eu";
394 use = "external-web-service";
395 check_command = ["check_https_code" "mail.immae.eu" "/roundcube/" "401" "<title>Roundcube"];
396
397 servicegroups = "webstatus-webapps,webstatus-email";
398 _webstatus_name = "Roundcube";
399 _webstatus_url = "https://mail.immae.eu/roundcube/";
400 }
401
402 {
403 service_description = "dokuwiki website is running on tools.immae.eu";
404 host_name = "eldiron.immae.eu";
405 use = "external-web-service";
406 check_command = ["check_https" "tools.immae.eu" "/dokuwiki/" "<title>start"];
407
408 servicegroups = "webstatus-webapps";
409 _webstatus_name = "Dokuwiki";
410 _webstatus_url = "https://tools.immae.eu/dokuwiki/";
411 }
412
413 {
414 service_description = "shaarli website is running on tools.immae.eu";
415 host_name = "eldiron.immae.eu";
416 use = "external-web-service";
417 check_command = ["check_https" "tools.immae.eu" "/Shaarli/immae" "<title>Immae"];
418
419 servicegroups = "webstatus-webapps";
420 _webstatus_name = "Shaarli";
421 _webstatus_url = "https://tools.immae.eu/Shaarli/";
422 }
423
424 {
425 service_description = "ldap website is running on tools.immae.eu";
426 host_name = "eldiron.immae.eu";
427 use = "external-web-service";
428 check_command = ["check_https" "tools.immae.eu" "/ldap/" "<title>phpLDAPadmin"];
429
430 servicegroups = "webstatus-webapps";
431 _webstatus_name = "LDAP";
432 _webstatus_url = "https://tools.immae.eu/ldap/";
433 }
434
435 {
436 service_description = "gitweb website is running on git.immae.eu";
437 host_name = "eldiron.immae.eu";
438 use = "external-web-service";
439 check_command = ["check_https" "git.immae.eu" "/" "git web interface"];
440
441 servicegroups = "webstatus-webapps";
442 _webstatus_name = "Git";
443 _webstatus_url = "https://git.immae.eu/";
444 }
445
446 {
447 service_description = "mantisbt website is running on git.immae.eu";
448 host_name = "eldiron.immae.eu";
449 use = "external-web-service";
450 check_command = ["check_https" "git.immae.eu" "/mantisbt/" "<title>My View - MantisBT"];
451
452 servicegroups = "webstatus-webapps";
453 _webstatus_name = "Mantisbt";
454 _webstatus_url = "https://git.immae.eu/mantisbt";
455 }
456
457 {
458 service_description = "diaspora website is running on diaspora.immae.eu";
459 host_name = "eldiron.immae.eu";
460 use = "external-web-service";
461 check_command = ["check_https" "diaspora.immae.eu" "/" "is the online social world where you are in control"];
462
463 servicegroups = "webstatus-webapps";
464 _webstatus_name = "Diaspora";
465 _webstatus_url = "https://diaspora.immae.eu/";
466 }
467
468 {
469 service_description = "peertube website is running on peertube.immae.eu";
470 host_name = "eldiron.immae.eu";
471 use = "external-web-service";
472 check_command = ["check_https" "peertube.immae.eu" "/" "<title>Immae’s PeerTube"];
473
474 servicegroups = "webstatus-webapps";
475 _webstatus_name = "Peertube";
476 _webstatus_url = "https://peertube.immae.eu/";
477 }
478
479 {
480 service_description = "etherpad website is running on ether.immae.eu";
481 host_name = "eldiron.immae.eu";
482 use = "external-web-service";
483 check_command = ["check_https" "ether.immae.eu" "/" "<title>Etherpad"];
484
485 servicegroups = "webstatus-webapps";
486 _webstatus_name = "Etherpad";
487 _webstatus_url = "https://ether.immae.eu/";
488 }
489
490 {
491 service_description = "mediagoblin website is running on mgoblin.immae.eu";
492 host_name = "eldiron.immae.eu";
493 use = "external-web-service";
494 check_command = ["check_https" "mgoblin.immae.eu" "/" "<title>GNU MediaGoblin"];
495
496 servicegroups = "webstatus-webapps";
497 _webstatus_name = "Mediagoblin";
498 _webstatus_url = "https://mgoblin.immae.eu/";
499 }
500
501 {
502 service_description = "mastodon website is running on mastodon.immae.eu";
503 host_name = "eldiron.immae.eu";
504 use = "external-web-service";
505 check_command = ["check_https" "mastodon.immae.eu" "/" "Mastodon</title>"];
506
507 servicegroups = "webstatus-webapps";
508 _webstatus_name = "Mastodon";
509 _webstatus_url = "https://mastodon.immae.eu/";
510 }
511
512 # Other web pages
513 {
514 service_description = "Jerome website is running on naturaloutil.immae.eu";
515 host_name = "eldiron.immae.eu";
516 use = "external-web-service";
517 check_command = ["check_https" "naturaloutil.immae.eu" "/ping.php" "YES"];
518
519 servicegroups = "webstatus-websites";
520 _webstatus_name = "naturaloutil.immae.eu";
521 _webstatus_url = "https://naturaloutil.immae.eu/";
522 }
523
524 {
525 service_description = "Telio website is running on realistesmedia.fr";
526 host_name = "eldiron.immae.eu";
527 use = "external-web-service";
528 check_command = ["check_https" "realistesmedia.fr" "/" "<title>Réal'istes"];
529 contact_groups = "telio-tortay";
530 }
531
532 {
533 service_description = "Chloe website site is running on osteopathe-cc.fr";
534 host_name = "eldiron.immae.eu";
535 use = "external-web-service";
536 check_command = ["check_https" "www.osteopathe-cc.fr" "/" "<title>Chloé Condamin ostéopathe D.O."];
537
538 servicegroups = "webstatus-websites";
539 _webstatus_name = "osteopathe-cc.fr";
540 _webstatus_url = "https://www.osteopathe-cc.fr/";
541 }
542
543 {
544 service_description = "Richie website is running on europe-richie.org";
545 host_name = "eldiron.immae.eu";
546 use = "external-web-service";
547 check_command = ["check_https" "www.europe-richie.org" "/" "<title>.Europe Richie]"];
548
549 servicegroups = "webstatus-websites";
550 _webstatus_name = "europe-richie.org";
551 _webstatus_url = "https://www.europe-richie.org/";
552 }
553
554 {
555 service_description = "Ludivine website site is running on ludivinecassal.com";
556 host_name = "eldiron.immae.eu";
557 use = "external-web-service";
558 check_command = ["check_https" "www.ludivinecassal.com" "/" "<title>Ludivine Cassal"];
559
560 servicegroups = "webstatus-websites";
561 _webstatus_name = "ludivinecassal.com";
562 _webstatus_url = "https://www.ludivinecassal.com/";
563 }
564
565 {
566 service_description = "Aten website site is running on aten.pro";
567 host_name = "eldiron.immae.eu";
568 use = "external-web-service";
569 check_command = ["check_https" "aten.pro" "/" "<title>ATEN"];
570
571 servicegroups = "webstatus-websites";
572 _webstatus_name = "aten.pro";
573 _webstatus_url = "https://aten.pro/";
574 }
575
576 {
577 service_description = "PiedsJaloux website site is running on piedsjaloux.fr";
578 host_name = "eldiron.immae.eu";
579 use = "external-web-service";
580 check_command = ["check_https" "www.piedsjaloux.fr" "/" "<title>Les Pieds Jaloux"];
581
582 servicegroups = "webstatus-websites";
583 _webstatus_name = "piedsjaloux.fr";
584 _webstatus_url = "https://www.piedsjaloux.fr/";
585 }
586
587 {
588 service_description = "Denise and Jerome website site is running on denisejerome.piedsjaloux.fr";
589 host_name = "eldiron.immae.eu";
590 use = "external-web-service";
591 check_command = ["check_https" "denisejerome.piedsjaloux.fr" "/" "<title>Accueil - Mariage"];
592
593 servicegroups = "webstatus-websites";
594 _webstatus_name = "denisejerome.piedsjaloux.fr";
595 _webstatus_url = "https://denisejerome.piedsjaloux.fr/";
596 }
597
598 {
599 service_description = "Connexionswing website site is running on connexionswing.com";
600 host_name = "eldiron.immae.eu";
601 use = "external-web-service";
602 check_command = ["check_https" "www.connexionswing.com" "/" "<title>Cours, stages"];
603
604 servicegroups = "webstatus-websites";
605 _webstatus_name = "connexionswing.com";
606 _webstatus_url = "https://www.connexionswing.com/";
607 }
608
609 {
610 service_description = "Sandetludo website site is running on sandetludo.com";
611 host_name = "eldiron.immae.eu";
612 use = "external-web-service";
613 check_command = ["check_https" "www.sandetludo.com" "/" "<title>Cours de West Coast"];
614
615 servicegroups = "webstatus-websites";
616 _webstatus_name = "sandetludo.com";
617 _webstatus_url = "https://www.sandetludo.com/";
618 }
619
620 {
621 service_description = "Maison bbc accepts add requests on http";
622 host_name = "eldiron.immae.eu";
623 use = "external-web-service";
624 check_command = [ "check_http" "maison.bbc.bouya.org" "/add.php" "^$"];
625 }
626
627 {
628 service_description = "Maison bbc has up to date data";
629 host_name = "eldiron.immae.eu";
630 use = "generic-service";
631 contact_groups = "maison-bbc";
632 notification_interval = "1440";
633 check_command = "check_maison_bbc";
634 flap_detection_enabled = "0";
635 max_check_attempts = "1";
636 }
637
638 # SSL
639 {
640 service_description = "ldap SSL is up to date";
641 host_name = "eldiron.immae.eu";
642 use = "external-service";
643 check_command = ["check_tcp_ssl" "636"];
644
645 servicegroups = "webstatus-ssl";
646 _webstatus_name = "LDAP";
647 _webstatus_url = "ldap.immae.eu";
648 }
649 ];
650 contact = {
651 telio-tortay = config.myEnv.monitoring.contacts.telio-tortay // {
652 use = "generic-contact";
653 contactgroups = "telio-tortay";
654 };
655 papa = config.myEnv.monitoring.contacts.papa // {
656 use = "generic-contact";
657 contactgroups = "maison-bbc";
658 service_notification_commands = "notify-maison-bbc-by-email";
659 };
660 };
661 contactgroup = {
662 maison-bbc = { alias = "Maison BBC"; };
663 telio-tortay = { alias = "Telio Tortay"; members = "immae"; };
664 };
665 }