bundles/icinga2: do not send recovery emails

This commit is contained in:
Franzi 2021-04-01 17:11:42 +02:00
parent 763a071acc
commit c5eb2f4f70
Signed by: kunsi
GPG key ID: 12E3D2136B818350
3 changed files with 13 additions and 44 deletions

View file

@ -29,9 +29,7 @@ object NotificationCommand "send-host-notification" {
"--host_name" = "$host.display_name$"
"--state" = "$host.state$"
"--output" = "$host.output$"
"--escalation" = {
set_if = "$escalation$"
}
"--notification-type" = "$notification.type$"
}
}
@ -67,8 +65,6 @@ object NotificationCommand "send-service-notification" {
"--service_name" = "$service.display_name$"
"--state" = "$service.state$"
"--output" = "$service.output$"
"--escalation" = {
set_if = "$escalation$"
}
"--notification-type" = "$notification.type$"
}
}

View file

@ -3,55 +3,23 @@ apply Notification "notify_host-notification" to Host {
interval = 30m
times = {
begin = 1m
end = 30m
begin = 0m
}
assign where host.vars.notification.sms == true
}
apply Notification "notify_service-notification" to Service {
import "service-notification"
interval = 30m
times = {
begin = 1m
end = 30m
begin = 0m
}
assign where service.vars.notification.sms == true
}
apply Notification "notify_host-notification-escalation" to Host {
import "host-notification"
interval = 20m
times = {
begin = 30m
}
vars.escalation = true
assign where host.vars.notification.sms == true
}
apply Notification "notify_service-notification-escalation" to Service {
import "service-notification"
interval = 20m
times = {
begin = 30m
}
vars.escalation = true
assign where service.vars.notification.sms == true
}
apply Notification "notify_service-notification-mail" to Service {
import "service-notification"
interval = 0

View file

@ -51,8 +51,9 @@ parser.add_argument(
type=str,
)
parser.add_argument(
'--escalation',
action='store_true',
'--notification-type',
type=str,
required=True,
)
def log_to_syslog(message):
@ -67,7 +68,7 @@ def log_to_syslog(message):
def notify_per_sms():
if args.state.lower() in ['up', 'ok']:
if args.notification_type.lower() == 'recovery':
output_text = ''
else:
output_text = '\n\n{}'.format(args.output)
@ -112,6 +113,10 @@ def notify_per_sms():
def notify_per_mail():
if args.notification_type.lower() == 'recovery':
# Do not send recovery emails.
return
# editorconfig-checker-disable
text = """
_ _
@ -166,7 +171,7 @@ if __name__ == '__main__':
log_to_syslog(' '.join(argv))
if args.mail and not args.escalation:
if args.mail:
notify_per_mail()
if args.sms: