Monitoração com Nagios
-
Upload
cristiano-casado -
Category
Technology
-
view
8.535 -
download
2
description
Transcript of Monitoração com Nagios
Monitoração com NagiosCristiano Casado
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
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
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 EthanGalstad 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 oficialhttp://www.nagios.org
Screenshots
Screenshots
Screenshots
Estrutura básica
Host = hostname, description, address, parents, command, check attempts retry interval, check interval, contact, contactgroup, …
Hostgroup = name, description, members, …
Service = name, description, host, hostgroup, command, check attempts retry interval, check interval, contact, contactgroup, …
Servicegroup = name, description, members, …
Command = command, command line
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.
Integração com ferramentas externas
Passive Checks
#!/bin/shechocmd="/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
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;hostgroup1\n" $now > $commandfile
Integração com ferramentas externas
Nagios Event Broker (NEB)
Hierarquia de objetosNagios é capaz de determinar quando um hostmonitorado está em status down ou unreachableutilizando “parent host”.
define host {host_name Nagios}
define host {host_name Switch1parents Nagios}
define host {host_name Webparents Switch1
}
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.
Representação gráfica da rede
Representação gráfica da rede
Administração# host.cfgdefine host {use generic-hosthost_name remotehostaddress 192.168.1.50hostgroups allhosts}
# command.cfgdefine command {name check_httpcommand_name check_httpcommand_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$}
# service.cfgdefine service {use generic-servicehost_name remotehostservice_description HTTPcheck_command check_http}
Administração
NagiosQL é uma ferramenta de administração web para o Nagios. A aplicaçãoremove a complexidade do admin manter diversos arquivos .cfg na definiçãodos 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
Administração
Arquitetura
Dúvidas e Documentação
Contato:Cristiano [email protected]
Nagios: www.nagios.orgNagvis: www.nagvis.orgNagiosQL: www.nagiosql.orgCentreon: www.centreon.comWiki: wiki.nagios.org