Definir la dirección de correo electrónico desde la que Nagios envía correos electrónicos


16

Hola, actualmente Nagios envía notificaciones desde nagios@server.domain.com, ¿cómo hago para configurar esto? Gracias

nagios 

Respuestas:


14

En una instalación predeterminada de Nagios, también se define en los comandos host-notify-by-mailo 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@addressopción al comando de correo, y eso debería funcionar.


Eso es lo que hice, y funcionó bien. En realidad, diferentes cuentas son enviadas por diferentes cuentas debido a nuestro programa automatizado de tickets.
ancho

1
/bin/mail-s
Agregué

@RainyRat: ¿hay alguna posibilidad de que pueda editar su respuesta para colocar -r como primer parámetro? - como sugieren otras respuestas, entonces feliz de votar su respuesta: o)
Aturdido el

3

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

3

Ponga -r nagios @ dominio antes de $ CONTACTEMAIL $ en command.cfg


2

Lo que funcionó para mí fue agregar -r $ADMINEMAIL$antes -s(inmediatamente después /bin/mail) y, por supuesto, $ADMINEMAIL$debe configurarse nagios.cfgusando la admin_emailconfiguración.


1

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'.


1

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 cambia la dirección de origen, pero no cambia la dirección de la ruta de retorno. Es posible que desee cambiar ambos.
Christopher K.

0

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.


En la configuración de contactos, configura los destinatarios de los correos enviados, no la dirección del remitente . Esta pregunta es acerca de cómo cambiar la dirección del remitente ( "donde manda mails de ").
Christopher K.

0

Para los enlaces de bsd-mailxmi /usr/bin/mailcomando, 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 sendmaildos cosas a considerar:

  • Use -rpara especificar la ruta de retorno (y la dirección de origen)
  • No hay -spara el tema. En su lugar, agregue el Subject:encabezado del correo printfseguido de dos líneas nuevas\n\n
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.