2. Requisitos de sistema
Monitorar recursos do sistema: cpu, memória, I/O, partição de disco, rede
Em diversas plataformas: Linux, Solaris, Windows, HPUX, …
Monitorar objetos BD: threads, client connected, queries/seg, innoDB stats, …
Em diversas plataformas: MySQL, Oracle, MS SQL Server
Monitorar serviços: http, dns, smtp, ftp, …
Monitorar aplicações: threads, connection pool, heap size, garbage collector, ...
Monitorar equipamentos de rede: routers, firewalls, storages, caches, slb, ...
Escalável e redundante
Integração com ferramentas externas
Representação gráfica da rede
Planejamento de excessões
3. Requisitos de sistema
Resolução pró-ativa e execução de scripts remotos
Hierarquia de objetos
Interface web para administração
Notificações por email, instant message, sms, ...
Solução open-source e customizável para nossa necessidade
4. Solução Escolhida
Nagios é um sistema open-source bastante popular para monitoração de rede,
servidores e serviços.
Originalmente criado com o nome NetSaint, foi escrito e é mantido por Ethan
Galstad e por vários desenvolvedores.
Foi lançado como beta release em Outubro de 2002.
A versão stable é a 3.1.1 de 22 Junho de 2009.
Site oficial
http://www.nagios.org
9. Integração com ferramentas externas
Passive Checks
Nagios permite a forma passiva de monitoração onde a iniciativa de verificação do serviço e o
envio dos resultados para o Nagios é realizada por uma aplicação externa.
10. Integração com ferramentas externas
Passive Checks
#!/bin/sh
echocmd="/bin/echo"
CFG="/etc/nagios/send_nsca.cfg"
NSCA="/usr/sbin/send_nsca"
NSCA_SERVER="10.20.2.15"
cmdline="$1;$2;$3;$4"
$echocmd $cmdline | $NSCA -H $NSCA_SERVER -d ";" -c $CFG
2. Execução do script:
# ./submit_check_result_nsca host SSH 2 "SSH error"
1 data packet(s) sent to host successfully.
3. Evento recebido e processado pelo Nagios:
# tail /var/log/nagios/nagios.log
[1239656419] EXTERNAL COMMAND: PROCESS_SERVICE_CHECK_RESULT;host;SSH;2;SSH error
[1239656424] PASSIVE SERVICE CHECK: host;SSH;2;SSH error
[1239656424] SERVICE ALERT: host;SSH;CRITICAL;SOFT;1;SSH error
11. Integração com ferramentas externas
External Commands
Nagios fornece 157 comandos para execução de funções internas.
CHANGE_SVC_CHECK_COMMAND;<hostname>;<service_description>;<check_command>
SCHEDULE_HOST_DOWNTIME;<host_name>;<start_time>;<end_time>;<fixed>;<duration>;<author>;<comment>
SCHEDULE_SVC_DOWNTIME;<host_name>;<service_desription><start_time>;<end_time>;<fixed>;<duration>;<author>;<comment>
ENABLE_HOSTGROUP_HOST_CHECKS;<hostgroup_name>
#!/bin/sh
now=`date +%s`
commandfile='/usr/local/nagios/var/rw/nagios.cmd'
/bin/printf "[%lu] ENABLE_HOSTGROUP_HOST_CHECKS;hostgroup1n" $now > $commandfile
13. Hierarquia de objetos
Nagios é capaz de determinar quando um host
monitorado está em status down ou unreachable
utilizando “parent host”.
define host {
host_name Nagios
}
define host {
host_name Switch1
parents Nagios
}
define host {
host_name Web
parents Switch1
}
14. Representação gráfica da rede
NagVis é um addon que permite a visualização de dados do Nagios e de qualquer
representação gráfica da estrutura IT e da rede.
É um projeto open-source utilizado amplamente pela comunidade do Nagios e possui como
features:
Representação dos hosts e services;
Exibição dos atributos de um host ou services assim como seu status atual;
Possibilidade de exibição somente dos problemas atuais;
Customização de diagramas;
Interface web de configuração.
18. Administração
NagiosQL é uma ferramenta de administração web para o Nagios. A aplicação
remove a complexidade do admin manter diversos arquivos .cfg na definição
dos objetos de monitoração.
webserver + PHP + MySQL
criar, deletar, modificar e copiar os objetos de monitoração
importação no MySQL a partir do .cfg
auto backup dos arquivos de configuração
check de consistência
verificação de sintaxe
executa comandos no Nagios: reload, check_config
várias opções de linguagem
fácil instalação