Hola, actualmente Nagios envía notificaciones desde nagios@server.domain.com, ¿cómo hago para configurar esto? Gracias
Hola, actualmente Nagios envía notificaciones desde nagios@server.domain.com, ¿cómo hago para configurar esto? Gracias
Respuestas:
En una instalación predeterminada de Nagios, también se define en los comandos host-notify-by-mail
o service-notify-by-mail
, que encontrará en commands.cfg
. El valor predeterminado sería algo como:
/bin/echo -e "$NOTIFICATIONTYPE$ - Service notification for $SERVICEDESC$ from host $HOSTNAME$ - $HOSTALIAS$\n$SERVICEDESC$: $SERVICEOUTPUT$\n" | /bin/mail -s '$NOTIFICATIONTYPE$/$SERVICESTATE$ - $HOSTNAME$/$SERVICEDESC$' $CONTACTEMAIL$
Tan solo agregue una -r sender@address
opción al comando de correo, y eso debería funcionar.
/bin/mail
-s
No se pudo obtener la solución "- -r nagios@domain.com" para funcionar. Resulta que las opciones después de "-" son opciones para sendmail. En cuanto a las opciones de sendmail, debe ser "-fnagios @ dominio". NO HAY ESPACIO entre -f y nagios@dominio.com.
Entonces lo siguiente ahora está funcionando: -
command_line /usr/bin/printf "%b" "Notification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTNAME$\Address: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$LONGSERVICEOUTPUT$" | /bin/mail -s "$SERVICESTATE$ - Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ -- -fnagios@domain.com
Lo que funcionó para mí fue agregar -r $ADMINEMAIL$
antes -s
(inmediatamente después /bin/mail
) y, por supuesto, $ADMINEMAIL$
debe configurarse nagios.cfg
usando la admin_email
configuración.
Pude hacer esto cambiando el comando a algo liek:
command_line /usr/bin/printf "%b" "Notification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTNAME$\Address: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$LONGSERVICEOUTPUT$" | /bin/mail -s "$SERVICESTATE$ - Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ -- -r $ADMINEMAIL$
La magia es la parte '- -r'.
ADMINEMAIL está configurado en su nagios.cfg, pero podría ser cualquier dirección de correo electrónico para la dirección 'De'.
Ninguno de los anteriores funciona con las versiones actuales de Nagios y / o Postfix. El indicador que debe agregarse a los comandos "host-notify-by-mail" o "service-notify-by-mail" de Nagios en el archivo "command.cfg" dice lo siguiente:
-a "From: john.doe@uzh.ch"
Tenga en cuenta que las comillas son esenciales!
Esto se define en etc/nagios3/conf.d/contacts_nagios2.cfg
Puede definir usuarios con correos electrónicos y grupos. También puede configurar diferentes grupos para diferentes propósitos, por ejemplo, web_admin para alertas http, administrador para alertas de host, etc.
Para los enlaces de bsd-mailx
mi /usr/bin/mail
comando, nada parecía funcionar, así que usé /usr/sbin/sendmail
(proporcionado por postfix) así:
command_line /usr/bin/printf "%b" "Subject:** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **\n\n**** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/sbin/sendmail -r "nagios@example.com" $CONTACTEMAIL$
Para sendmail
dos cosas a considerar:
-r
para especificar la ruta de retorno (y la dirección de origen)-s
para el tema. En su lugar, agregue el Subject:
encabezado del correo printf
seguido de dos líneas nuevas\n\n