From c5eb2f4f70072caa37031a9eb0ec6c42ab844a53 Mon Sep 17 00:00:00 2001 From: Franziska Kunsmann Date: Thu, 1 Apr 2021 17:11:42 +0200 Subject: [PATCH] bundles/icinga2: do not send recovery emails --- .../files/icinga2/notification_commands.conf | 8 ++--- .../icinga2/files/icinga2/notifications.conf | 36 ++----------------- .../files/scripts/icinga_notification_wrapper | 13 ++++--- 3 files changed, 13 insertions(+), 44 deletions(-) diff --git a/bundles/icinga2/files/icinga2/notification_commands.conf b/bundles/icinga2/files/icinga2/notification_commands.conf index c6d4cc5..fc9cdbb 100644 --- a/bundles/icinga2/files/icinga2/notification_commands.conf +++ b/bundles/icinga2/files/icinga2/notification_commands.conf @@ -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$" } } diff --git a/bundles/icinga2/files/icinga2/notifications.conf b/bundles/icinga2/files/icinga2/notifications.conf index e4c293c..0e4e910 100644 --- a/bundles/icinga2/files/icinga2/notifications.conf +++ b/bundles/icinga2/files/icinga2/notifications.conf @@ -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 diff --git a/bundles/icinga2/files/scripts/icinga_notification_wrapper b/bundles/icinga2/files/scripts/icinga_notification_wrapper index b7e3a5a..f988be8 100644 --- a/bundles/icinga2/files/scripts/icinga_notification_wrapper +++ b/bundles/icinga2/files/scripts/icinga_notification_wrapper @@ -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: