mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-31 01:24:19 +02:00
Use a shell script for the mail-service-notification command.
Refs #5224
This commit is contained in:
parent
9d8edd286f
commit
3c29e4e907
@ -41,6 +41,7 @@ install_if_not_exists(icinga2/features-available/notification.conf ${CMAKE_INSTA
|
|||||||
install_if_not_exists(icinga2/features-available/perfdata.conf ${CMAKE_INSTALL_SYSCONFDIR}/icinga2/features-available)
|
install_if_not_exists(icinga2/features-available/perfdata.conf ${CMAKE_INSTALL_SYSCONFDIR}/icinga2/features-available)
|
||||||
install_if_not_exists(icinga2/features-available/statusdata.conf ${CMAKE_INSTALL_SYSCONFDIR}/icinga2/features-available)
|
install_if_not_exists(icinga2/features-available/statusdata.conf ${CMAKE_INSTALL_SYSCONFDIR}/icinga2/features-available)
|
||||||
install_if_not_exists(icinga2/features-available/syslog.conf ${CMAKE_INSTALL_SYSCONFDIR}/icinga2/features-available)
|
install_if_not_exists(icinga2/features-available/syslog.conf ${CMAKE_INSTALL_SYSCONFDIR}/icinga2/features-available)
|
||||||
|
install_if_not_exists(icinga2/scripts/mail-notification.sh ${CMAKE_INSTALL_SYSCONFDIR}/icinga2/scripts)
|
||||||
|
|
||||||
install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_SYSCONFDIR}/icinga2/features-enabled\")")
|
install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_SYSCONFDIR}/icinga2/features-enabled\")")
|
||||||
install(CODE "execute_process(COMMAND \"${CMAKE_COMMAND}\" -E create_symlink ../features-available/checker.conf \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_SYSCONFDIR}/icinga2/features-enabled/checker.conf\")")
|
install(CODE "execute_process(COMMAND \"${CMAKE_COMMAND}\" -E create_symlink ../features-available/checker.conf \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_SYSCONFDIR}/icinga2/features-enabled/checker.conf\")")
|
||||||
|
@ -22,27 +22,21 @@ template Notification "mail-notification" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
object NotificationCommand "mail-service-notification" inherits "plugin-notification-command" {
|
object NotificationCommand "mail-service-notification" inherits "plugin-notification-command" {
|
||||||
command = [
|
command = [ (IcingaSysconfDir + "/icinga2/scripts/mail-notification.sh") ],
|
||||||
"/usr/bin/printf",
|
|
||||||
"\"%b\"",
|
|
||||||
{{{\"***** Icinga *****
|
|
||||||
|
|
||||||
Notification Type: $NOTIFICATIONTYPE$
|
export_macros = [
|
||||||
|
"NOTIFICATIONTYPE",
|
||||||
Service: $SERVICEDESC$
|
"SERVICEDESC",
|
||||||
Host: $HOSTALIAS$
|
"HOSTALIAS",
|
||||||
Address: $HOSTADDRESS$
|
"HOSTADDRESS",
|
||||||
State: $SERVICESTATE$
|
"SERVICESTATE",
|
||||||
|
"LONGDATETIME",
|
||||||
Date/Time: $LONGDATETIME$
|
"SERVICEOUTPUT",
|
||||||
|
"NOTIFICATIONAUTHORNAME",
|
||||||
Additional Info: $SERVICEOUTPUT$
|
"NOTIFICATIONCOMMENT",
|
||||||
|
"HOSTDISPLAYNAME",
|
||||||
Comment: [$NOTIFICATIONAUTHORNAME$] $NOTIFICATIONCOMMENT$\"}}},
|
"SERVICEDISPLAYNAME",
|
||||||
"/bin/mail",
|
"USEREMAIL"
|
||||||
"-s",
|
|
||||||
"\"$NOTIFICATIONTYPE$ - $HOSTDISPLAYNAME$ - $SERVICEDISPLAYNAME$ is $SERVICESTATE$\"",
|
|
||||||
"$USEREMAIL$"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
20
etc/icinga2/scripts/mail-notification.sh
Executable file
20
etc/icinga2/scripts/mail-notification.sh
Executable file
@ -0,0 +1,20 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
template=$(cat <<TEMPLATE
|
||||||
|
***** Icinga *****
|
||||||
|
|
||||||
|
Notification Type: $NOTIFICATIONTYPE
|
||||||
|
|
||||||
|
Service: $SERVICEDESC
|
||||||
|
Host: $HOSTALIAS
|
||||||
|
Address: $HOSTADDRESS
|
||||||
|
State: $SERVICESTATE
|
||||||
|
|
||||||
|
Date/Time: $LONGDATETIME
|
||||||
|
|
||||||
|
Additional Info: $SERVICEOUTPUT
|
||||||
|
|
||||||
|
Comment: [$NOTIFICATIONAUTHORNAME] $NOTIFICATIONCOMMENT
|
||||||
|
TEMPLATE)
|
||||||
|
|
||||||
|
/usr/bin/printf "%b" $template | mail -s "$NOTIFICATIONTYPE - $HOSTDISPLAYNAME - $SERVICEDISPLAYNAME is $SERVICESTATE" $USEREMAIL
|
||||||
|
|
@ -315,10 +315,12 @@ exit 0
|
|||||||
%attr(0750,%{icinga_user},%{icinga_group}) %dir %{_sysconfdir}/%{name}/conf.d
|
%attr(0750,%{icinga_user},%{icinga_group}) %dir %{_sysconfdir}/%{name}/conf.d
|
||||||
%attr(0750,%{icinga_user},%{icinga_group}) %dir %{_sysconfdir}/%{name}/features-available
|
%attr(0750,%{icinga_user},%{icinga_group}) %dir %{_sysconfdir}/%{name}/features-available
|
||||||
%attr(0750,%{icinga_user},%{icinga_group}) %dir %{_sysconfdir}/%{name}/features-enabled
|
%attr(0750,%{icinga_user},%{icinga_group}) %dir %{_sysconfdir}/%{name}/features-enabled
|
||||||
|
%attr(0750,%{icinga_user},%{icinga_group}) %dir %{_sysconfdir}/%{name}/scripts
|
||||||
%config(noreplace) %attr(0640,%{icinga_user},%{icinga_group}) %{_sysconfdir}/%{name}/%{name}.conf
|
%config(noreplace) %attr(0640,%{icinga_user},%{icinga_group}) %{_sysconfdir}/%{name}/%{name}.conf
|
||||||
%config(noreplace) %attr(0640,%{icinga_user},%{icinga_group}) %{_sysconfdir}/%{name}/conf.d/*.conf
|
%config(noreplace) %attr(0640,%{icinga_user},%{icinga_group}) %{_sysconfdir}/%{name}/conf.d/*.conf
|
||||||
%config(noreplace) %attr(0640,%{icinga_user},%{icinga_group}) %{_sysconfdir}/%{name}/features-available/*.conf
|
%config(noreplace) %attr(0640,%{icinga_user},%{icinga_group}) %{_sysconfdir}/%{name}/features-available/*.conf
|
||||||
%config(noreplace) %{_sysconfdir}/%{name}/features-enabled/*.conf
|
%config(noreplace) %{_sysconfdir}/%{name}/features-enabled/*.conf
|
||||||
|
%config(noreplace) %{_sysconfdir}/%{name}/scripts/*
|
||||||
%{_sbindir}/%{name}
|
%{_sbindir}/%{name}
|
||||||
%{_bindir}/%{name}-migrate-config
|
%{_bindir}/%{name}-migrate-config
|
||||||
%{_bindir}/%{name}-build-ca
|
%{_bindir}/%{name}-build-ca
|
||||||
|
Loading…
x
Reference in New Issue
Block a user