Hi @all,
ich habe kein Problem, sondern eine Implementierungs-Frage:
Jede Nacht läuft ein Backup von Servern. Dies sollte zwischen 00:00 und 08:00 Uhr jeden Tag passieren. Manchmal passiert es aber, dass der Backupprozess länger dauert oder gar nicht fertig wird.
Genau diesen Case will ich monitoren und dank Icinga 2 ging das auch ziemlich flott.
Folgenden Service habe ich definiert:
Dieser Service wird Critical sobald ein Script mit dem Command "dobackup.sh" läuft. Das ist ja auch so gewollt. Nun soll dieser aber nur Critical werden, wenn der Prozess zwischen 08:00 und 23:59 Uhr läuft. Für den Rest der Zeit ist es ja ok.
Also habe ich ein ScheduledDowntime Objekt definiert:
Auf der anderen Seite gibt es das Service-Attribut "check_period". Laut Doku: "The name of a time period which determines when this service should be checked". Wenn ich hier einfach ein TimePeriod-Objekt mit den Werten zwischen 08:00 - 23:59 Uhr definiere würde hätte ich das selbe Verhalten wie bei der Scheduled Downtime.
Wie würdet ihr das implementieren? Ein Nachteil der Scheduled Downtime ist, dass im Icinga Web 2 der Service hellrot angezeigt wird.
Für Input und Hinweise bin ich sehr dankbar :-)
~velo
ich habe kein Problem, sondern eine Implementierungs-Frage:
Jede Nacht läuft ein Backup von Servern. Dies sollte zwischen 00:00 und 08:00 Uhr jeden Tag passieren. Manchmal passiert es aber, dass der Backupprozess länger dauert oder gar nicht fertig wird.
Genau diesen Case will ich monitoren und dank Icinga 2 ging das auch ziemlich flott.
Folgenden Service habe ich definiert:
![]() |
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
apply Service "backup-not-running" { import "generic-service" check_command = "procs" command_endpoint = host.name display_name = "Backup läuft nicht" vars.procs_command = "dobackup.sh" vars.procs_critical = "0:0" vars.procs_warning = "0:0" assign where host.vars.os == "Linux" } |
Dieser Service wird Critical sobald ein Script mit dem Command "dobackup.sh" läuft. Das ist ja auch so gewollt. Nun soll dieser aber nur Critical werden, wenn der Prozess zwischen 08:00 und 23:59 Uhr läuft. Für den Rest der Zeit ist es ja ok.
Also habe ich ein ScheduledDowntime Objekt definiert:
![]() |
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
apply ScheduledDowntime "backup-downtime" to Service { comment = "Backup soll in dieser Zeit gemacht werden" fixed=true var start = "00:00" var end = "08:00" var combined = start + "-" + end ranges = { monday = combined tuesday = combined wednesday = combined thursday = combined friday = combined saturday = combined sunday = combined } assign where service.name == "backup-not-running" } |
Auf der anderen Seite gibt es das Service-Attribut "check_period". Laut Doku: "The name of a time period which determines when this service should be checked". Wenn ich hier einfach ein TimePeriod-Objekt mit den Werten zwischen 08:00 - 23:59 Uhr definiere würde hätte ich das selbe Verhalten wie bei der Scheduled Downtime.
Wie würdet ihr das implementieren? Ein Nachteil der Scheduled Downtime ist, dass im Icinga Web 2 der Service hellrot angezeigt wird.
Für Input und Hinweise bin ich sehr dankbar :-)
~velo