diff --git a/etc/icinga2/conf.d/commands.conf b/etc/icinga2/conf.d/commands.conf index bd511cebc..e7d555c86 100644 --- a/etc/icinga2/conf.d/commands.conf +++ b/etc/icinga2/conf.d/commands.conf @@ -43,6 +43,7 @@ object NotificationCommand "mail-host-notification" { required = true value = "$notification_hoststate$" } + "-X" = "$notification_hostnotes$" "-t" = { required = true value = "$notification_type$" @@ -62,6 +63,7 @@ object NotificationCommand "mail-host-notification" { notification_hostoutput = "$host.output$" notification_hoststate = "$host.state$" notification_useremail = "$user.email$" + notification_hostnotes = "$host.notes$" } } @@ -110,6 +112,8 @@ object NotificationCommand "mail-service-notification" { required = true value = "$notification_type$" } + "-X" = "$notification_hostnotes$" + "-x" = "$notification_servicenotes$" "-u" = { required = true value = "$notification_servicedisplayname$" @@ -131,6 +135,8 @@ object NotificationCommand "mail-service-notification" { notification_servicestate = "$service.state$" notification_useremail = "$user.email$" notification_servicedisplayname = "$service.display_name$" + notification_hostnotes = "$host.notes$" + notification_servicenotes = "$service.notes$" } } @@ -160,6 +166,7 @@ object NotificationCommand "mail-host-notification" { NOTIFICATIONCOMMENT = "$notification.comment$" HOSTDISPLAYNAME = "$host.display_name$" USEREMAIL = "$user.email$" + HOSTNOTES = "$host.notes$" } } @@ -180,6 +187,8 @@ object NotificationCommand "mail-service-notification" { HOSTDISPLAYNAME = "$host.display_name$" SERVICEDISPLAYNAME = "$service.display_name$" USEREMAIL = "$user.email$" + HOSTNOTES = "$host.notes$" + SERVICENOTES = "$service.notes$" } } diff --git a/etc/icinga2/scripts/mail-host-notification.sh b/etc/icinga2/scripts/mail-host-notification.sh index 236e6286c..70d3b5005 100755 --- a/etc/icinga2/scripts/mail-host-notification.sh +++ b/etc/icinga2/scripts/mail-host-notification.sh @@ -27,6 +27,7 @@ Required parameters: Optional parameters: -4 HOSTADDRESS (\$address\$) -6 HOSTADDRESS6 (\$address6\$) + -X HOSTNOTES (\$host.notes\$) -b NOTIFICATIONAUTHORNAME (\$notification.author\$) -c NOTIFICATIONCOMMENT (\$notification.comment\$) -i ICINGAWEB2URL (\$notification_icingaweb2url\$, Default: unset) @@ -63,7 +64,7 @@ urlencode() { } ## Main -while getopts 4:6::b:c:d:f:hi:l:n:o:r:s:t:v: opt +while getopts 4:6::b:c:d:f:hi:l:n:o:r:s:t:v:X: opt do case "$opt" in 4) HOSTADDRESS=$OPTARG ;; @@ -77,6 +78,7 @@ do l) HOSTNAME=$OPTARG ;; # required n) HOSTDISPLAYNAME=$OPTARG ;; # required o) HOSTOUTPUT=$OPTARG ;; # required + X) HOSTNOTES=$OPTARG ;; r) USEREMAIL=$OPTARG ;; # required s) HOSTSTATE=$OPTARG ;; # required t) NOTIFICATIONTYPE=$OPTARG ;; # required @@ -129,6 +131,12 @@ if [ -n "$HOSTADDRESS6" ] ; then IPv6: $HOSTADDRESS6" fi +## Check whether host notes was specified. +if [ -n "$HOSTNOTES" ] ; then + NOTIFICATION_MESSAGE="$NOTIFICATION_MESSAGE +Host notes: $HOSTNOTES" +fi + ## Check whether author and comment was specified. if [ -n "$NOTIFICATIONCOMMENT" ] ; then NOTIFICATION_MESSAGE="$NOTIFICATION_MESSAGE diff --git a/etc/icinga2/scripts/mail-service-notification.sh b/etc/icinga2/scripts/mail-service-notification.sh index 9d1be204e..31d9137b8 100755 --- a/etc/icinga2/scripts/mail-service-notification.sh +++ b/etc/icinga2/scripts/mail-service-notification.sh @@ -29,6 +29,8 @@ Required parameters: Optional parameters: -4 HOSTADDRESS (\$address\$) -6 HOSTADDRESS6 (\$address6\$) + -X HOSTNOTES (\$host.notes\$) + -x SERVICENOTES (\$service.notes\$) -b NOTIFICATIONAUTHORNAME (\$notification.author\$) -c NOTIFICATIONCOMMENT (\$notification.comment\$) -i ICINGAWEB2URL (\$notification_icingaweb2url\$, Default: unset) @@ -65,7 +67,7 @@ urlencode() { } ## Main -while getopts 4:6:b:c:d:e:f:hi:l:n:o:r:s:t:u:v: opt +while getopts 4:6:b:c:d:e:f:hi:l:n:o:r:s:t:u:v:X:x: opt do case "$opt" in 4) HOSTADDRESS=$OPTARG ;; @@ -79,6 +81,8 @@ do i) ICINGAWEB2URL=$OPTARG ;; l) HOSTNAME=$OPTARG ;; # required n) HOSTDISPLAYNAME=$OPTARG ;; # required + X) HOSTNOTES=$OPTARG ;; + x) SERVICENOTES=$OPTARG ;; o) SERVICEOUTPUT=$OPTARG ;; # required r) USEREMAIL=$OPTARG ;; # required s) SERVICESTATE=$OPTARG ;; # required @@ -134,6 +138,18 @@ if [ -n "$HOSTADDRESS6" ] ; then IPv6: $HOSTADDRESS6" fi +## Check whether host notes was specified. +if [ -n "$HOSTNOTES" ] ; then + NOTIFICATION_MESSAGE="$NOTIFICATION_MESSAGE +Host notes: $HOSTNOTES" +fi + +## Check whether service notes was specified. +if [ -n "$SERVICENOTES" ] ; then + NOTIFICATION_MESSAGE="$NOTIFICATION_MESSAGE +Service notes: $SERVICENOTES" +fi + ## Check whether author and comment was specified. if [ -n "$NOTIFICATIONCOMMENT" ] ; then NOTIFICATION_MESSAGE="$NOTIFICATION_MESSAGE