Definindo o endereço de email do qual o Nagios envia emails

16

Oi, atualmente, o Nagios envia notificações de [email protected], como faço para configurar isso? obrigado


fonte

Respostas:

14

Em uma instalação padrão do Nagios, ela também é definida nos comandos host-notify-by-mailou service-notify-by-mail, nos quais você encontrará commands.cfg. O padrão seria 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$

Portanto, basta adicionar uma -r sender@addressopção ao comando mail, e isso deve funcionar.

RainyRat
fonte
Foi o que fiz e funcionou bem. Na verdade, alertas diferentes são enviados por contas diferentes devido ao nosso programa de bilhética automatizado.
breadly
11
Eu adicionei isso entre /bin/maile o-s
jgritty 20/11/2014
@RainyRat - tem alguma chance de editar sua resposta para colocar o -r como primeiro parâmetro? - como outras respostas sugerem feliz depois de upvote sua resposta: o)
Dazed
3

Não foi possível obter a solução "- -r [email protected]". Acontece que as opções depois de "-" são opções para o sendmail. Observando as opções do sendmail, deve ser "-fnagios @ domain". NOTA NÃO ESPAÇO entre -f e [email protected].

Portanto, o seguinte está funcionando agora: -

  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
fonte
3

Coloque -r nagios @ domain antes de $ CONTACTEMAIL $ em commands.cfg

astroneo
fonte
2

O que funcionou para mim foi adicionar -r $ADMINEMAIL$antes -s(imediatamente após /bin/mail) e, é claro $ADMINEMAIL$, deve ser definido nagios.cfgusando a admin_emailconfiguração.

Albert Braden
fonte
1

Eu era capaz de fazer isso alterando o comando para algo mentiroso:

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$

A mágica é a parte '- -r'.

ADMINEMAIL está definido no seu nagios.cfg, mas pode ser qualquer endereço de email para o endereço 'De'.

jizaymes
fonte
1

Nenhuma das opções acima funciona com versões atuais do Nagios e / ou Postfix. O sinalizador que precisa ser adicionado aos comandos "host-notificar-por-email" ou "serviço-notificar-por-email" no arquivo "commands.cfg" é o seguinte:

-a "From: [email protected]"

Observe que as aspas são essenciais!

aag
fonte
Isso altera o endereço De, mas não altera o endereço do caminho de retorno. Você pode alterar os dois.
Christopher K.
0

Isso é definido em etc/nagios3/conf.d/contacts_nagios2.cfg

Você pode definir usuários com e-mails e grupos. Além disso, você pode configurar diferentes grupos para diferentes fins - por exemplo, web_admin para alertas http, admin para alertas de host, etc.

HogFather
fonte
Na configuração de contatos, você configura os destinatários dos e-mails enviados, não o endereço do remetente . Esta pergunta é sobre como alterar o endereço do remetente ( "onde ele envia mails de ").
Christopher K.
0

Pelo bsd-mailxque meu /usr/bin/mailcomando está vinculado, nada parecia funcionar, então eu usei /usr/sbin/sendmail(fornecido pelo postfix) assim:

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 sendmailduas coisas a considerar:

  • Use -rpara especificar o caminho de retorno (e do endereço)
  • Não há -spara o assunto. Em vez disso, adicione o Subject:cabeçalho do email printfseguido por duas novas linhas\n\n
Christopher K.
fonte