Como administrador de sistemas, é importante ter as melhores
ferramentas que nos permitam monitorizar todos os elementos que fazem
parte da nossa rede informática. Uma das plataformas gratuitas mais
fantástica para monitorização é o Nagios, não só por ser opensource mas
também pela forma como é possível estender a monitorização aos elementos
mais estranhos.
Depois de termos apresentado
aqui a plataforma, e de apresentar os passos de instalação (ver
aqui) hoje ensinamos como podem configurar o sistema de alertas do Nagios para envio de e-mail através do Gmail.
Além da possibilidade de visualizamos o estados dos vários
equipamentos monitorizados, é possível configurar o Nagios para que este
envie notificações via e-mail ou até mesmo SMS. Por omissão, o sistema
usa o daemon mail para enviar todas as notificações, localmente. No
entanto é possível usar servidores de e-mail externos, como é o caso do
gmail, para o envio de e-mails. Hoje ensinamos com podem usar o
sendEmail,
um cliente de SMTP via linha de comandos, para envio dos alertas do
nagios via Gmail. Para isso devem seguir os seguintes passos:
Passo 1) Obter o cliente de SMTP
sendEmail
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
|
Passo 2) Descompactar
[root@pplware] tar -xvf sendEmail-v1.56.tar.gz
|
Passo 3) Copiar o binário para /usr/local/bin/
[root@pplware] cp /root/sendEmail-v1.56/sendEmail /usr/local/bin/
|
Passo 4) Vamos agora criar o ficheiro para manter os logs do sendEmail e dar respectivas permissões permissões
[root@pplware] touch /var/log/sendEmail
[root@pplware] chmod 666 /var/log/sendEmail
|
Passo 5) Configuração das variáveis necessárias. Para isso vamos a
/usr/loca/nagios/etc/resources.cfg e configuramos do seguinte modo
# Sets $USER1$ to be the path to the plugins
$USER1$=/usr/local/nagios/libexec
# Sets $USER2$ to be the path to event handlers
#$USER2$=/usr/local/nagios/libexec/eventhandlers
$USER5$= CONTA GMAIL
$USER7$=smtp.gmail.com:587
$USER9$=CONTA GMAIL
$USER10$=PASSWORD
|
Passo 6) Configuração do ficheiro /usr/local/nagios/etc/objects/commands.cfg
Uma vez que o gmail necessite de autenticação para envio via SNMP, é
necessário que procedam à seguinte configuração. Na prática esta
configuração consistem em definir o modelo do e-mail a enviar assim com o
comando respectivo para o envio do mesmo. Uma vez que a configuração é
complexa, não se esqueçam de fazer uma cópia do ficheiro commands.cfg.
# <strong>'notify-host-by-email' command definition</strong>
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/sendEmail -s $USER7$ -xu $USER9$ -xp $USER10$ -t $USER5$ -f $USER5$ -o tls=yes -l /var/log/sendEmail -u "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" -m "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n"
}
# <strong>'notify-service-by-email' command definition
</strong> 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$" | /usr/local/bin/sendEmail -s $USER7$ -xu $USER9$ -xp $USER10$ -t $CONTACTEMAIL$ -f $USER5$ -o tls=yes -l /var/log/sendEmail -u "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" -m "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$"
}
|
Passo 7) Validação da configuração
Para validarem a configuração, podem usar o comando
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
|
Passo 8) Restart ao Nagios
Depois da configuração validada, basta que reiniciem o nagios usando o comando
Nota: caso queiram ver os logs associados ao sendEmail, basta que usem o comando
tail -f /var/log/sendEmail
|
Aqui fica um exemplo dos e-mails recebidos
Alguns problema que podem surgir
- Uma vez que estamos a usar SSL, o sistema pode necessitar do pacote
IO::Socket::SSL. Para instalar no CentOS basta instalar o comando yum
install ‘perl(IO::Socket::SSL)’
- Para validares se o vosso servidor tem comunicação com o servidor do
gmail via porta 587, podem executar o comando telnet smtp.gmail.com 587
Esperamos que tenham gostado deste tutorial. Num próximo artigo
iremos ensinar a monitorizar máquinas remotas com Windows. Estejam
atentos e partilhas as vossas duvidas e sugestões. Boas monitorizações!
fonte: http://pplware.sapo.pt
Social