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

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.

RainyRat
fuente
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 [email protected]" 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 [email protected].

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$ -- [email protected]
Nagios_Noob
fuente
3

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

astroneo
fuente
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.

Albert Braden
fuente
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'.

jizaymes
fuente
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: [email protected]"

Tenga en cuenta que las comillas son esenciales!

aag
fuente
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.

HogFather
fuente
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 "[email protected]" $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
Christopher K.
fuente