Académique Documents
Professionnel Documents
Culture Documents
Armando Julio Farias da Silva Mora Guerra Gustavo Henrique Defendi da Silva Leandro Basdo Rafael Soares Thiago R. Maltezo
Armando Julio Farias da Silva Mora Guerra Gustavo Henrique Defendi da Silva Leandro Basdo Rafael Soares Thiago R. Maltezo
Trabalho apresentado como requisito aprovao na disciplina PIM III - Projeto Integrado Multidisciplinar do curso de Tecnologia em Gerenciamento de Redes de Computadores do Centro de Ensino Superior de Foz do Iguau CESUFOZ. Orientador: Giliardi de Oliveira
SUMRIO
1. INTRODUO ................................................................................................................................. 4 1.1 TEMA ................................................................................................................................................ 4 1.2 1.2.1 1.2.2 1.3 1.4 2. Objetivo................................................................................................................................ 4 Geral.................................................................................................................................... 4 Especficos ........................................................................................................................... 4 DELIMITAES .......................................................................................................................... 5 JUSTIFICATIVA............................................................................................................................ 5
REFERENCIAL TERICO ............................................................................................................... 6 2.1 2.2 2.3 2.4 2.5 SISTEMA OPERACIONAL DO SERVIDOR ......................................................................................... 6 NAGIOS ..................................................................................................................................... 6 ZABBIX ..................................................................................................................................... 6 GERNCIA DE REDES .................................................................................................................. 7 SNMP (SIMPLE NETWORK MANAGEMENT PROTOCOL) ................................................................... 7
3.
PROJETO .......................................................................................................................................... 9 3.1 3.2 3.3 3.3.1 3.3.2 3.4 INSTALAO DO SO ................................................................................................................... 9 PREPARANDO O AMBIENTE .......................................................................................................... 9 INSTALAO DAS FERRAMENTAS ................................................................................................ 9 Instalao do Nagios ............................................................................................................ 9 Instalao Zabbix ............................................................................................................... 10 PRINCIPAIS ARQUIVOS DE CONFIGURAO ................................................................................ 10
3.4.1 Nagios..................................................................................................................................... 10 3.4.2 Zabbix ..................................................................................................................................... 13 3.5 3.5.1 3.5.2 3.6 3.6.1 3.6.2 4. 5. 6. ADICIONAR HOSTS AO MONITORAMENTO................................................................................... 14 Nagios................................................................................................................................ 14 Zabbix ................................................................................................................................ 16 ADICIONAR E MONITORAR SERVIOS ......................................................................................... 18 Nagios................................................................................................................................ 18 Zabbix ................................................................................................................................ 20
1. INTRODUO
Nos dias atuais, as redes de computadores tornaram-se fundamentais para o desenvolvimento e bom andamento dos servios oferecidos pelas grandes empresas, bem como instituies de ensino e pesquisa, organizaes governamentais, entre outras instituies. Assim, o gerenciamento e
monitoramento dessas redes, devem ser efetuados de modo a garantir que o sistema possa proporcionar estabilidade, confiabilidade e bom desempenho. Sero apresentadas duas ferramentas, o Nagios e o Zabbix, que so softwares de gerenciamento que proporcionam ao responsvel pela rede a capacidade de prever e detectar falhas de servidores, e obter registro dos eventos dos ativos da rede.
1.1 Tema
Servidor de gerenciamento e monitoramento de redes, baseados em softwares livres.
1.2 Objetivo
1.2.1 Geral Analisar as ferramentas Nagios e Zabbix, utilizando-as sobre um servidor de gerenciamento e monitoramento, buscando as funcionalidades particulares de cada uma, bem como os recursos oferecidos. Definir qual ferramenta a mais indicada em situaes especificas e realizar uma anlise de custo-benefcio, conforme os resultados obtidos. 1.2.2 Especficos Montar um servidor baseado em GNU/Linux rodando as ferramentas de gerenciamento de redes Nagios e Zabbix, por meio dos protocolos SNMP (Simple Network Management Protocol), SMTP (Simple Mail Transfer Protocol), POP3 (Post Office Protocol), ICMP (Internet Control Message Protocol) e HTTP (Hyperext Transfer Protocol).
Demonstrar um sistema de rede estruturada, com gerenciamento e monitoramento em tempo real de execuo.
1.3 Delimitaes
Implementar um servidor de rede baseado em GNU/Linux, rodando softwares livres para gerenciar uma rede e monitorar os eventos que podem ocorrer inesperadamente, de modo a prever, detectar e corrigir falhas de maneira eficiente, agregando confiabilidade e estabilidade ao sistema.
1.4 Justificativa
Com a grande evoluo da informtica, as grandes empresas tenderam a se informatizar, para garantir agilidade na realizao das rotinas de trabalho, de modo a oferecer melhores servios. Para que isso possa ocorrer de forma eficiente a rede interna deve ser estruturada para prover garantia de resistncia a falhas que possam comprometer todo o sistema. Assim, para que o gerente da rede possa ajustar e manter o sistema confivel e estvel, ferramentas de gerenciamento e monitoramento so essenciais. Nesse contexto, os sistemas Nagios e Zabbix oferecem recursos que podem auxiliar e satisfazer tais necessidades.
2. REFERENCIAL TERICO
2.1 Sistema Operacional do servidor
O sistema operacional escolhido para a implementao deste projeto foi o Debian GNU/Linux verso seis de codinome Squeeze.
2.2 Nagios
O Nagios um sistema de gerenciamento e monitoramento de redes que utiliza licena de acordo com os termos da GNU (General Public Licence). O nagios tem por objetivo monitorar e em alguns casos gerir toda a infra-estrutura de tecnologia da informao, garantindo o bom funcionamento de servidores, processos, ativos de rede, servios e aplicativos. Com ele, o gerente da rede tem a facilidade de poder alertar o pessoal responsvel pela assistncia tcnica de algum imprevisto que tenha ocorrido que possa comprometer o bom funcionamento da estrutura de redes, para que o usurio final no seja afetado. As principais caractersticas na utilizao no Nagios so: Monitoramento dos servios baseados em protocolos como HTTP, POP3, ICMP, SMTP e etc.; Monitoramento do estado fsico dos ativos de rede, como carga do processador, da memria, do repositrio, trfego de rede, nveis de temperatura dos componentes entre outros fatores; Capacidade de estabelecer hierarquia de acessos rede, detectando usurios ativos ou inativos; Monitoramento redundante.
2.3 Zabbix
O Zabbix, assim como o Nagios, um software Open Source (cdigo aberto) cuja funo monitorar os ativos e servios da rede de computadores, com a finalidade de garantir a integridade e bom funcionamento dos servios disponibilizados. O zabbix possui a funcionalidade de enviar alertas de malfuncionamento de algum componente da rede, por e-mail ou por mensagem de texto de celular, permitindo rpida resposta do responsvel pela rede para
resolver o problema. Oferece tambm, relatrios ricos em caractersticas com base nos dados coletados em um banco de dados e possibilita redundncia do servidor. Outras caractersticas relevantes so: Utilizao de um SGBD(Sistema de Gerenciamento de Banco de Dados) para o armazenamento de dados coletados; Executa detalhamento por meio de grficos, estatsticas e histrico em tempo de execuo do status dos servios da rede; Estabelece privilgios de acesso a usurios a determinadas
funcionalidades.
necessidade de estar 100% em funcionamento e condizente com as perspectivas de mercado, deve ter incorporado capacidade de permitir ser gerenciado via SNMP. E essa tendncia, faz com que os mais variados equipamentos j saiam com suporte ao SNMP de fbrica para estar na realidade de mercado, como por exemplo: Modem ADSL, Impressoras e etc. O SNMP por si s um protocolo de requisio/resposta simples. Os NMS (Network Management Systems) podem enviar mltiplas requisies sem receber uma resposta. Quatro operaes bsicas so definidas no SNMPv1: O get permite que o NMS recupere uma instncia de um objeto gerenciado de um agente. O get-next permite que o NMS recupere a prxima instncia de objetos de uma tabela ou lista em um agente. Se o NMS quiser recuperar todos os elementos de uma tabela de um agente, ele inicia com uma operao get seguida de uma srie de operaes get-next. O set permite que o NMS modifique valores de uma instncia de objetos gerenciados em um agente. E o trap usado pelo agente para informar o NMS sobre algum evento ocorrido como, por exemplo, um erro. Como o prprio nome do protocolo diz simples ele ganhou fama pela facilidade em implementao de solues com o seu uso. Quando o modelo RMOSI (Reference Model Open System Interconnection) ficou pronto em 1993, aps um cuidadoso e demorado desenvolvimento, o SNMP j estava difundido em diversos produtos. O sistema de gerenciamento de rede da arquitetura TCP/IP opera na camada da aplicao e baseia-se no protocolo SNMP.
3. PROJETO
3.1 Instalao do SO
Para este trabalho pressupomos que o sistema operacional Debian GNU/Linux j est instalado e configurado por padro.
3.3.1 Instalao do Nagios Depois de preparado o cenrio devemos instalar o pacote do nagios e seus plugins com os comandos abaixo:
# aptitude install nagios3 # aptitude install nagios-plugins # aptitude install nagios-snmp-plugins # aptitude install ndoutils-nagios3-mysql
Pode-se tambm especificar os arquivos de configurao a serem usados para funes especficas. Observe o exemplo abaixo:
No commands.cfg ficam as definies dos comandos a serem executados para monitoramento. Cada comando usado no parmetro check_command dos hosts, ter que estar configurado nesse arquivo. Segue um exemplo abaixo do arquivo commands.cfg:
10
# Definio do comando 'check_http' define command{ command_name command_line } check_http $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
define command{ command_name command_line } No arquivo contacts.cfg ficam os contatos cadastrados no sistema. Esses contatos sero notificados caso algum erro acontea na rede. Exemplo: Porta_Oracle $USER1$/check_tcp -H $HOSTADDRESS$ -p 1521
define contact { 11
administrador Administrador do Sistema 24x7 24x8 w,u,c,r d,u,r notify-by-email host-notify-by-email administrador@dominio.com.br
No arquivo timeperiods.cfg pode-se configurar os perodos em que os servios sero monitorados e que ser enviada notificao de falha. muito til para servios que no so 24x7. Esses ficam sendo monitorados apenas no horrio comercial. O timeperiods pode ser configurado no parmetro
define timeperiod{ timeperiod_name alias sunday monday tuesday wednesday thursday friday saturday } 24x7 24 Hours A Day, 7 Days A Week 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00
O arquivo resources.cfg guarda as variveis que so utilizadas pelo Nagios nas definies de comando. Normalmente ele vem somente com a varivel $USER1$ setada como /usr/lib/nagios/plugins, mas podem ser definidas novas variveis de acordo com a necessidade. Veja o exemplo abaixo:
12
$USER1$=/usr/lib/nagios/plugins $USER2$=-C public $USER3$=public O arquivo services.cfg contem a definio usada para identificar os servios que rodam`` em um cliente. Ele pode ser um servio que roda em um cliente (POP, SMTP, http) ou outro tipo de mtrica associado com o cliente como resposta a ping, espao livre em disco, etc. Abaixo segue o exemplo:
define service { hostgroup_name service-description check_command use notification-interval } http-servers http check_http generic-service 0; set > 0 if you want to be renotified
3.4.2 Zabbix O zabbix_server.conf o principal arquivo de configurao do Zabbix, nele se encontram todas as configuraes bsicas do servidor. Nele voc pode configurar a freqncia de alertas, aonde sero salvos os logs, configuraes do banco de dados.Veja uns exemplos abaixo:
- LogFiles LogFile=/var/log/zabbix-server/zabbix_server.log 13
O zabbix_agent.conf
Configurao do servidor.
#mkdir /etc/nagios3/servidores/
#vim /etc/nagios3/servidores/hosts.cfg
14
### Definio do Host ### define host{ use host_name alias address check_command max_check_attempts check_interval notification_interval notification_period notification_options contact_groups } Descrio das Diretivas Host_name: Diretiva usada para definir um nome abreviado que ser necessrio para identificar o cliente. Alias: Esta diretiva usada para se definir um nome completo para o cliente. Address: Define o endereo IP(Internet Protocol) do cliente. Check_comand: Esta diretiva usada para especificar o comando que dever ser usado para verificar se o cliente est funcionando ou no, tipicamente este comando tentar pingar o cliente. Max_check_attempts: Esta diretiva define a quantidade de vezes que o Nagios tentar checar novamente clientes que no retornaram qualquer estado alm de ok. Check_period: Esta diretiva define qual o perodo de tempo em que o Nagios ter a responsabilidade de monitorar e alertar sobre qualquer problema na rede. Notification_interval: Esta diretiva usada para definir o nmero de unidades de tempo de espera antes de re-notificar o contato de que este servidor esta parado ou inalcanvel. Notification_period: Esta diretiva especifica o de tempo para o qual as notificaes para este cliente devem ser enviadas aos contatos. Notification_options: Esta diretiva usada para determinar quando se poder enviar notificaes para o cliente. 15 generic-host safira Debian-Server 192.168.0.1 check-host-alive 10 1 30 24x7 d,u,r admins
Contact_groups: Esta diretiva usada para especificar os grupos que sero notificados.
Aps devidamente criado o arquivo hosts.cfg para servidores, devemos adicion-lo ao arquivo nagios.cfg para que possa ser localizado. Segue abaixo o contedo que deve ser inserido no arquivo:
cfg_file=/etc/nagios3/servidores/hosts.cfg
Aps isso, reiniciamos o servio do nagios e ento nosso servidor j estar aparecendo na lista de hosts, podemos adicionar mais servidores apenas criando um outro bloco com as devidas configuraes dentro do arquivo hosts.cfg, na pasta servidores, ou ento criarmos um outro grupo a ser monitorado atravs da criao de outra pasta, que pode ser definida de acordo com as necessidades do administrador. No prximo tpico veremos como adicionar os servios que devem ser monitorados no servidor que cadastramos.
3.5.2 Zabbix Para adicionar hosts no Zabbix mais simples do que adicionar no Nagios, pois todo feito na interface web: 1 - Acessando a interface Web. http://IP_do_Servidor/zabbix/ Para logar use usurio e senha definido na Instalao do Zabbix. 2 - Acessar Aba Configuraes > Hosts > Criar Hosts
16
Nome: Vai o nome do Host a ser adicionado. Grupos: Por padro vem 5 grupos adicionados. Novo grupo: Se precisar criar um grupo novo s adicionar nome do grupo. Ex: Modem. Endereo IP: Endereo do host adicionado.
17
Basta clicar no template desejado, descer at o final da pagina e clicar em selecionar. Por padro vem adicionado 40 templates.
Para clientes Windows ser necessrio baixar e instalar o NSClient++ disponvel em: http://www.nsclient.org/nscp/downloads
Aps cadastrar o host devemos definir os servios a serem monitorados pelo Nagios para este cliente. Para isto criaremos dentro da pasta servidores, que definimos como exemplo, um arquivo chamado services.cfg, com o comando abaixo: 18
#vim /etc/nagios3/servidores/services.cfg
### Definio dos Servios ### ### FTP ### define service{ host_name service_description check_command max_check_attempts normal_check_interval retry_check_interval check_period notification_interval notification_period notification_options contact_groups } Descrio das Diretivas Host_name: Esta diretiva usada para especificar o nome do cliente (host) no qual o servio roda ou ao qual ele est associado. Service_description: Esta diretiva serve para definir uma descrio do servio. Check_period: Esta diretiva usada para especificar o nome abreviado do perodo de tempo no qual as checagens ativas desse servio podero ser feitas. Max_check_attempts: Esta diretiva usada para definir o nmero de vezes que o Nagios tentar checar novamente servios que retornarem estados que no forem OK. Normal_check_interval: Esta diretiva usada para definir o tempo antes de agendar a prxima checagem regular do servio. Retry_check_interval: Esta diretiva usada para definir o tempo para reagendar a verificao de um servio quando mudar para um estado no OK. Contact_groups: Este o grupo de contatos que sero notificados quando houver problemas. 19 safira FTP check_ftp 2 1 1 24x7 30 24x7 w,c,r admins
Notification_options: Esta diretiva usada para determinar quando se poder enviar notificaes para o cliente. Notification_interval: Esta diretiva usada para definir o nmero de unidades de tempo de espera antes de re-notificar o contato de que este servidor esta parado ou inalcanvel. Notification_period: Esta diretiva especifica o de tempo para o qual as notificaes para este cliente devem ser enviadas aos contatos. Check_command: Esta a diretiva usada para especificar o comando que o Nagios executar para checar o status do servio.
Neste exemplo criamos um servio de monitoramento para FTP, porm podemos definir o monitoramento para diversos servios, definidos pelos plugins instalados juntamente com o Nagios ou ento criados pelo prprio usurio. Aps devidamente criado o arquivo services.cfg para servidores, devemos adicion-lo ao arquivo nagios.cfg para que possa ser localizado. Segue abaixo o contedo que deve ser inserido no arquivo:
cfg_file=/etc/nagios3/servidores/services.cfg
Aps isso, reiniciamos o servio do Nagios e ento os servios adicionados passaram a ser monitorados nos hosts relacionados.
3.6.2 Zabbix
20
4. VISO GERAL
Aps configurarmos o monitoramento utilizando as duas ferramentas, podemos perceber que ambas cumprem sua funo. O Nagios um software bastante conhecido em sua rea de atuao, possui muita documentao na internet e bastante flexvel, porm, possui alta complexidade para ser configurado, dependendo da necessidade. O Zabbix apesar de ser bem mais novo, bastante completo e pode sem duvidar atender as necessidades de um administrador de redes. Sua interface web facilita muito sua configurao e torna muito mais dinmico todo o processo de implantao. Abaixo segue uma tabela comparativa entre Nagios e Zabbix.
SLA Reports Auto Discovery Agente SNMP Plugins Linguagem Escrita Gatilhos/Alertas Front-End Web Monitoramento Distribuidos Iventrio Mtodos de Armazenamento de Dados Licenciamento Graficos e Mapas Eventos
Nagios Plugins Plugins Sim Plugins Sim Pearl Sim Crontrole Parcial Sim Plugins MySql GPL Sim / Sim Sim
Zabbix Sim Sim Sim Sim Sim C e PHP Sim Controle Completo Sim Sim Oracle,MySql, PostgreSQL e SQLite GPL Sim / Sim Sim
21
5. Concluso
Um ponto de extrema importncia quando se fala de ps-implantao de uma rede de computadores a questo do gerenciamento dos ativos da rede, j que a partir desse sistema o gerente da rede consegue obter maiores informaes de configurao, falhas, desempenho, segurana e contabilidade, o que o auxiliar caso haja uma eventual ao preventiva ou, em casos extremos, uma ao corretiva com maior rapidez e eficincia. Neste trabalho vimos duas ferramentas que podem auxiliar nesta tarefa. O Nagios que realmente uma ferramenta extremamente potente e dinmica, j que permite a criao e integrao de diversos tipos de plugins e addons, o que facilita o gerenciamento/monitoramento do parque computacional. Possui tambm muita documentao na internet, j que um dos softwares de monitoramento mais antigos do mercado. Seu ponto fraco a configurao, que acaba sendo mais difcil e complexa, pois envolve muito a edio manual de arquivos de texto. O Zabbix provavelmente a ferramenta mais completa entre as opes OpenSource. Sua interface web permite, com facilidade, controle total do sistema. Por ser uma ferramenta relativamente nova, possui menos documentao de qualidade se comparada ao Nagios.
22
6. Referncias
CARNEIRO, EDUARDO. Manual completo de instalao e configurao do Nagios 3. Disponvel em: http://www.vivaolinux.com.br/artigo/Manual-completo-deinstalacao-e-configuracao-do-Nagios-3-no-Linux-Debian-4.0-Etch?pagina=6. Acesso em: 10 de jun. 2011.
COSTA, FELIPE. Ambiente de Rede Monitorado com Nagios e Cacti. Rio de Janeiro: Editora Cincia Moderna LTDA., 2008. 189p.
Nagios
Documentation.
Nagios.org.
Disponvel
em:
OLIVEIRA, RAFAEL. Instalando o Nagios Core 3.2, Plugins, NRPE, NSClient (Ubuntu 10.4). Disponvel em: http://www.vivaolinux.com.br/artigo/Instalando-oNagios-Core-3.2+Nagios-Plugins+NRPE+NSClient+++pnp4nagios+FrontEnd-noUbuntu-10.4-LTS/?pagina=4. Acesso em: 05 de jun. 2011.
TOMAZ,
LUIZ
CARLOS.
Nagios
com
SNMP.
Disponvel
em:
23