Oi, atualmente, o Nagios envia notificações de nagios@server.domain.com, como faço para configurar isso? obrigado
Oi, atualmente, o Nagios envia notificações de nagios@server.domain.com, como faço para configurar isso? obrigado
Respostas:
Em uma instalação padrão do Nagios, ela também é definida nos comandos host-notify-by-mail
ou 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@address
opção ao comando mail, e isso deve funcionar.
/bin/mail
e o-s
Não foi possível obter a solução "- -r nagios@domain.com". 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 nagios@domain.com.
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$ -- -fnagios@domain.com
O que funcionou para mim foi adicionar -r $ADMINEMAIL$
antes -s
(imediatamente após /bin/mail
) e, é claro $ADMINEMAIL$
, deve ser definido nagios.cfg
usando a admin_email
configuração.
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'.
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: john.doe@uzh.ch"
Observe que as aspas são essenciais!
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.
Pelo bsd-mailx
que meu /usr/bin/mail
comando 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 "nagios@example.com" $CONTACTEMAIL$
Para sendmail
duas coisas a considerar:
-r
para especificar o caminho de retorno (e do endereço)-s
para o assunto. Em vez disso, adicione o Subject:
cabeçalho do email printf
seguido por duas novas linhas\n\n