Upload
truongtu
View
218
Download
0
Embed Size (px)
Citation preview
Nagios Trabalhando em Maquina Virtual
Anderson Rodrigo Antunes
Curso de Especialização em Redes e Segurança de Sistemas
Pontifícia Universidade Católica do Paraná
Curitiba, novembro de 2010
Resumo
Este artigo relata a monitoração dos equipamentos da empresa Radio e Televisão Iguaçu, que atualmente possui quatro filiais (Foz do Iguaçu, Londrina, Maringa e Apucarana) e que ainda não possuía nenhum controle na gestão de falhas, causando um enorme transtorno em ocorrência de falhas exigindo um grande tempo em manutenção. A intenção com essa ferramenta e evitar ao máximo as falhas decorrentes nas maquinas da empresa e suas filiais.
1 – Introdução
A empresa atualmente conta com quatro unidades prontas localizadas nos municípios de Curitiba, Foz do Iguaçu, Londrina e Maringa e uma unidade em seu estado final de construção localizada em Apucarana, todas as unidades no estado do Paraná, tendo em vista que todas as unidades não podem parar, se viu a necessidade de implementar um gerenciador de falhas para evitar possíveis paradas.
Problemas como servidores, impressoras e maquinas paradas na empresa geram prejuízo financeiro visamos evitar ao máximo as falhas e quando estas ocorrem solucionar o problema mais rápido possível sendo responsabilidade do departamento de TI ou de parceiros que fornece ou mantém o serviço.
Irei monitorar os servidores de internet quando ficar Down avisando assim nosso parceiro para devidas providencia, impressoras quando não estiverem em comunicação e com falta de tonner, maquinas da nossa rede verificando falta de espaço em disco, aquecimento, falta de comunicação, uso de memória, etc.
Neste artigo encontraremos na seção 2 quais foram os softwares utilizados, na seção 3 podemos verificar a instalação do nagios, na seção 4 verificaremos a forma de instalação do client para computadores Windows, na seção 5 como foi feita a configuração do nagios para funcionar a monitoração, na seção 6 será mostrado o acesso ao servidor nagios de qualquer maquina da rede Windows e na seção 7 um breve resumo das vantagens e desvantagens do Windows.
2 – Implementação
2.1 Escolha do Software de Virtualização
Foi escolhido o software VirtualBox[1] que é uma solução profissional que está disponível gratuitamente como software de código aberto sob os termos da GNU General Public License (GPL). Ele permite a instalação e utilização de um sistema operativo dentro de outro, assim como seus respectivos softwares, como dois ou mais computadores independentes, mas compartilhando fisicamente o mesmo hardware.
2.2 Escolha do Sistema Operacional
Por ser um sistema de fácil instalação para usuários com pouco conhecimento em Linux escolhi o sistema Ubuntu[2] 9.04 em ambiente virtual VirtualBox para ser o servidor de monitoramento.
2.3 Software de Monitoramento
Evitando gerar custos para empresa escolhi software open sources Nagios[3] versão 3.2.1 pois sua implementação não é muito trabalhosa e por se tratar de uma popular aplicação de monitoração de rede de código aberto distribuída sob a licença GPL. Ele pode monitorar tanto hosts quanto serviços, alertando-o quando ocorrerem problemas e também quando os problemas forem resolvidos.
Nagios é uma ferramenta de monitoramento e gerência de rede distribuída sob a licença GPL para monitorar e exibir alertas quando é detectado erros em computadores ou equipamentos de rede e serviços de rede em sistemas UNIX/Linux e Windows (necessário
a instalação do plugin NSClient++) , foi escrito e é atualmente mantido por Ethan Galstad e comunidade de desenvolvedores e utiliza duas formas de gerenciamento.
Com agente (programa que coleta dados de um objeto e envia para o gerente
processar).
Figura 1 – Nagios – gerenciamento com agente. [9]
Sem agente, onde os hosts estão acessíveis remotamente
Figura 2 – Nagios – gerenciamento sem agente. [9]
3 Instalações do Nagios[4]
O processo de instalação do Nagios em sistemas Ubuntu consiste em alguns passos porem simples, como mostrados nos comandos abaixo.
3.1 Baixar Pacotes Nagios wget ‐c http://ufpr.dl.sourceforge.net/sourceforge/nagios/nagios‐3.2.3.tar.gz[5] Plugins wget ‐c http://ufpr.dl.sourceforge.net/sourceforge/nagiosplug/nagios‐plugins‐1.4.15.tar.gz[6] 3.2 Instalar as dependências sudo apt-get install build-essential
sudo apt-get install libgd2-xpm-dev sudo apt-get install apache2 sudo apt-get install php5-common php5 libapache2-mod-php5 Após instalar as dependências vamos fazer uma alteração no arquivo de configuração do apache com o comando: sudo gedit /etc/apache2/apache2.conf E acrescentaremos a seguinte linha: DirectoryIndex index.html index.php index.cgi Logo após vamos dar restart no apache com o comando: sudo /etc/init.d/apache2 restart 3.3 Criar usuários para Nagios sudo useradd -m nagios sudo groupadd nagios sudo passwd nagios sudo usermod –G nagios nagios sudo mkdir /usr/local/nagios sudo chown -R nagios.nagios /usr/local/nagios sudo groupadd nagcmd sudo usermod -a -G nagcmd nagios sudo usermod -a -G nagcmd www-data 3.4 Instalar Nagios Após descompactar os arquivos baixados iremos entrar em sua posta descompactada e instalar o nagios com seguintes comandos: sudo ./configure –with-command-group=nagcmd sudo make all sudo make install sudo make install-init sudo make install-config sudo make install-commandmode sudo make install-webconf Agora vamos criar uma senha para o nagios: sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin Agora vamos adicionar o diretorio nagios no apache acrescentando as linhas abaixo no apache.conf. sudo gedit /etc/apache2/apache.conf
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
Alias /nagios /usr/local/nagios/share
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
Depois restart no apache: sudo /etc/init.d/apache2 restart
3.5 Instalar Plugins
Após descompactar os arquivos baixados iremos entrar em sua posta descompactada e instalar o nagios com seguintes comandos: sudo ./configure –with-nagios-user=nagios –with-nagios-group=nagios sudo make sudo make install 3.6 Modificando as permições da pasta do Nagios sudo chown -R nagios nagios /usr/local/nagios/var/rw sudo chmod u+rwx /usr/local/nagios/var/rw sudo chmod g+rwx /usr/local/nagios/var/rw sudo chmod g+s /usr/local/nagios/var/rw 3.7 Adicionando o Nagios para ser executado durante o Boot sudo ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios 3.8 Finalizando a Instalação e restartando o Apache2 e o Nagios sudo /etc/init.d/apache2 restart sudo /etc/init.d/nagios restart 3.9 Acessar Nagios na maquina local http://localhost/nagios
Figura 3 – Nagios login na maquina Local
Figura 4 – Nagios logado na maquina local
4 Instalação do Client nas maquinas Windows[7]
O processo de instalação do Cliente em sistemas Windows é muito simples com veremos nas telas a seguir. 4.1 Baixar Client NSClient++-0.3.8 Existe client para 32 e 64bits para o windows no meu caso baixei a versão para 32bits do site: http://sourceforge.net/projects/nscplus/files/ Após efetuar o download devemos excutar o arquivo: NSClient++-0.3.8-Win32.msi
Figura 5 – Executar Client Figura 6 – Instalando Client
Figura 7 – Accept e Next Figura 8 – Apertar Next
Figura 9 – Nova configuração e Next Figura 10 – IP servidor, senha selecionar todas e Next
Figura 11 – Apertar em instalar Figura 12 – Start Service e Finish
Apos a instalação na maquina windows deverá ficar rodando um serviço igual a tela abaixo:
Figura 13 – Serviço rodando no Windows
5 Configurar o Nagios [8] e [9] Após a instalação do nagios e instalação do client nas máquinas Windows vamos configurar o nagios para que consiga monitorar as maquinas. 5.1 Editando o Arquivo commands.cfg Vamos editar o arquivo commands.cfg para estabelecer comunicação com o client instalado nas máquinas windows. Abrir o arquivo commands.cfg e alterar a seguinte linha: define command{ command_name check_nt command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$ } Para: define command{ command_name check_nt command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s SENHA DEFINIDA NA INSTALÇÃO DO CLIENT -v $ARG1$ $ARG2$ } 5.2 Editando o Arquivo nagios.cfg Descomentar a linha onde está localizado o servidor windows: # Definitions for monitoring a Windows machine cfg_file=/usr/local/nagios/etc/objects/windows.cfg E a linha refente as impressoras: # Definitions for monitoring a Windows machine cfg_file=/usr/local/nagios/etc/objects/printer.cfg 5.3 Editando o Arquivo windows.cfg Agora com as outras configurações já prontas vamos acrescentar as maquinas que serão monitoradas. 5.4 Definindo Hosts Em HOST DEFINITIONS: define host{ use windows-server host_name anderson alias anderson address 192.168.20.7
} define host{ use windows-server host_name ezequiel-pc alias ezequiel-pc address 192.168.20.5 } 5.5 Definindo Grupos Em HOST GROUP DEFINITIONS define hostgroup{ hostgroup_name windows-servers alias windows-servers members anderson,ezequiel-pc } 5.6 Definindo Serviços Em SERVICE DEFINITIONS basta apenas acrescentar quais maquinas serão monitoradas por aquele serviço na linha host_name. define service{ use generic-service host_name anderson,ezequiel-pc service_description NSClient++ Version check_command check_nt!CLIENTVERSION } 5.7 Editando o Arquivo contacts.cfg Agora vamos definir quem receberá e-mail em caso de acontecer algum problema com alguma máquina. define contact{ contact_name anderson use generic-contact alias Anderson Rodrigo Antunes email [email protected] } Depois criamos um grupo de contatos caso tenha definido mais de um contato será enviado e-mail para esse grupo. define contactgroup{ contactgroup_name administradores alias Nagios Administrators members anderson
} Pronto feito essas configurações agora podemos testar o nagios com o seguinte comando: /usr/local/nagios/Bin/nagios –v /usr/local/nagios/etc/nagios.cfg A resposta deverá ser: Total warnings: 0 Total Errors: 0 Things look okay 6 Utilizando nagios de qualquer maquina de sua rede. Com todas as configurações prontas e não apresentando nenhum erro, reiniciaremos o serviço nagios com o comando: /etc/init.d/nagios restart Depois de um restart no servidor podemos ir em qualquer maquina da rede e acessar via browser através do <ip do servidor>/nagios
Figura 14 – Acessando nagios de uma maquina qualquer
Lembrando que o usuário é nagiosadmin e a senha que eu escolhi no inicio da configuração. Agora podemos entrar no servidor nagios de qualquer maquina da rede e verificar as maquinas que estão definidas para serem monitoradas.
Figura 15 – Tela do nagios acessado por uma maquina da rede
Figura 16 – Tela Serviços monitorados nagios
Figura 17 – Tela Serviços monitorados nagios
O intuito na monitoração é justamente verificar erros como, por exemplo, no serv-cameras da figura 17 que está com os dois discos cheios, ficar enviando o teste de ping para todos as maquinas, verificar uso de CPU, quantidade de memória, etc... 7 Avaliação do Nagios [10]
O Nagios é capaz de gerenciar a rede através da análise do estado e comportamento dos dispositivos gerenciados com algumas vantagens e desvantagens que destacamos abaixo.
Vantagens
Ser gratuito. Flexível, permite a instalação de plugins ou a criação de comandos personalizados
conforme a necessidade de monitorar determinados hosts, equipamentos ou serviços.
Escalável. Eficiente. Suporte a monitoração remota através de túneis encriptados SSH ou SSL. Notificações através de e-mail, mensagens instantâneas através de SMS, Messenger,
PopUP e sons. Capacidade de definir a rede hierarquicamente definindo equipamentos "pai",
permitindo distinção dos equipamentos que estão indisponíveis daqueles que estão inalcançáveis.
Interface de monitoramento Web.
Desvantagens
A complexidade na configuração, pois é feita apenas através da edição dos arquivos textos.
Não possuir uma interface WEB para configuração dos hosts, grupos, contatos, notificações e serviços.
A cada nova mudança na configuração é necessário reiniciar o serviço do nagios através do comando nagios reload.
Conclusão
Apesar de ser um processo um pouco trabalhoso a sua implementação a ferramenta de monitoramento Nagios se mostrou de uma utilidade muito grande no dia-a-dia, pois a ferramenta auxilia na gestão de falhas além de documentar de forma gráfica a rede, servidores, equipamentos, serviços e fornecer alertas e relatórios das mais variadas formas.
Por não existir nada similar anteriormente na empresa relacionado a gerencia de
falhas a implementação foi de grande ajuda reduzindo a demanda de manutenção até a presente data em aproximadamente trinta por cento, tendo em vista que o departamento de TI hoje está apenas com três funcionários foi de grande ajuda a implementação.
Pesquisa Bibliografia [1] - http://pt.wikipedia.org/wiki/VirtualBox. Acessado em Outubro de 2010. [2] - http://pt.wikipedia.org/wiki/Ubuntu. Acessado em Outubro de 2010. [3] - http://pt.wikipedia.org/wiki/Nagios. Acessa em Outubro de 2010. [4] - http://www.unixmen.com/linux-tutorials/945-install-nagios-ubuntu-9x-and-10x. Acessado em Outubro de 2010. [5] - http://ufpr.dl.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz. Acessado em Outubro de 2010.
[6] - http://ufpr.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz. Acessado em Outubro de 2010. [7] - http://sourceforge.net/projects/nscplus/files/. Acessado em Outubro de 2010. [8] - http://www.sartori.eti.br/?p=70. Acessado em Outubro de 2010. [9] - http://www.youtube.com/watch?v=J0Juttl1dqk&feature=related. Acessado em Outubro de 2010. [10] - http://nagios.sourceforge.net/docs/nagios-3.pdf. Acessado em Novembro de 2010. [11] - Revista Linux Magazine Edição numero71. Leitura feita em Outubro de 2010.