Outra funcionalidade interessante, é o envio de alertas por e-mail. Segue abaixo o passo a passo para a configuração desse recurso.
1. No servidor Nagios, acesse a pasta
/usr/src e baixe o arquivo "email-3.1.3.tar.gz" que será instalado para envio de e-mail, com os comandos abaixo:
# cd /usr/src
# wget http://www.cleancode.org/downloads/email/obsolete/email-3.1.3.tar.gz
2. Após baixar o arquivo, descompacte com o comando, acesse a pasta "email-3.1.3/" e proceda com a instalação com os comandos abaixo:
# tar -zxvf email-3.1.3.tar.gz
# cd email-3.1.3/
# ./configure
# make
# make install
3. Em seguida, será necessário cadastrar um conta de e-mail no Gmail.
Cadastre uma conta de e-mail, em seguida, logue-se na conta cadastrada no link abaixo e ATIVE o acesso para aplicativos menos seguros.
Obs.: os testes realizados apresentaram o resultado esperado, utilizando uma conta de e-mail do Gmail.
* Importante: sugiro que cadastre uma conta no Gmail com um nome de usuário cadastrado para acesso total ao Nagios, como explicado anteriormente no artigo de instalação e configuração do Nagios (por exemplo: nagiosadmin). Caso seja cadastrada uma conta de e-mail de um usuário que não tenha permissão de acesso total ao Nagios, esse usuário deverá ser cadastrado seguindo os passos apresentados na instalação e configuração do Nagios e esse usuário deverá constar nas configurações de contato, conforme apresentado mais adiante.
4. De volta ao servidor Nagios, edite o arquivo
/usr/local/etc/email/email.conf, localize as linhas apresentadas abaixo e faça as alterações necessárias, certificando-se que o arquivo possui as seguintes configurações nas seguintes linhas desse arquivo:
# vim /usr/local/etc/email/email.conf
SMTP_SERVER = 'gmail-smtp-msa.l.google.com'
SMTP_PORT = '587'
MY_NAME = 'Seu_Nome'
MY_EMAIL = 'seu-e-mail@gmail.com'
USE_TLS = 'true'
SMTP_AUTH = 'LOGIN'
SMTP_AUTH_USER = seu-email@gmail.com
SMTP_AUTH_PASS = senha-e-mail
#VCARD = "~/dean.ldif"
5. Caso tenha seguido até aqui o passo a passo conforme apresentado, será possível fazer um teste e verificar se o e-mail chegou na caixa de entrada da conta criada no Gmail, com o comando abaixo:
email -b -s "Teste" seu-e-mail@gmail.com
6. Agora, configure o Nagios para enviar e-mails de alerta editando o
/usr/local/nagios/etc/objects/commands.cfg (Nagios 4.0.8) ou
/etc/nagios3/commands.cfg (Nagios 3.2.1), localize e faça as devidas alterações nas linhas, conforme apresentado abaixo:
# vim /usr/local/nagios/etc/objects/commands.cfg
# 'notify-host-by-email' command definition
define command{
command_name notify-host-by-email
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/local/bin/email -b -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
}
# 'notify-service-by-email' command definition
define command{
command_name notify-service-by-email
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /usr/local/bin/email -b -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
}
7. Como mencionado mais acima, é necessário também editar o arquivo de contatos do Nagios
/usr/local/nagios/etc/objects/contacts.cfg (Nagios 4.0.8) ou
/etc/nagios3/conf.d/contacts_nagios2.cfg (Nagios 3.2.1) e informar nesse arquivo o nome do usuário cadastrado na conta de e-mail, faça as devidas alterações conforme apresentado abaixo:
# vim /usr/local/nagios/etc/objects/contacts.cfg
define contact{
contact_name nagiosadmin ; Short name of user
use generic-contact ; Inherit default values from generic-contact template (defined above)
alias Nagios Admin ; Full name of user
email seu-mail@gmail.com ; ***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
}
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members nagiosadmin
}
8. Caso queira alterar o tempo de envio dos alertas por e-mail, edite o arquivo:
# vim /usr/local/nagios/etc/objects/templates.cfg # Nagios 4.0.8
Ou:
# vim /etc/nagios3/objects/templates.cfg # Nagios 3.2.1
Localize e altere o intervalo de tempo configurado na linha apresentada abaixo. Por padrão, este intervalo vem configurado para 10 minutos.
normal_check_interval 10 ;Check the service every 10 minutes under normal conditions
9. Reinicie o servidor Nagios e, através na análise dos logs com os comandos abaixo, verifique se chegou algum e-mail de alerta no e-mail configurado.
Obs.: caso não tenha nenhum alerta que faça a notificação por e-mail, simule um alerta numa máquina qualquer.
# tail -f /usr/local/nagios/var/nagios.log
Conclusão
Com isso, concluímos mais uma etapa desse interessante e muito utilizado sistema de monitoramento Nagios.
Mais uma vez, espero ter contribuído e apresentado o resultado esperado por todos que tenham interesse em implementar essa ferramenta num ambiente doméstico, ou até mesmo de produção, onde é muito utilizado.