Upload
dangthien
View
217
Download
0
Embed Size (px)
Citation preview
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
CAMPUS GUARAPUAVA
CURSO DE TECNOLOGIA EM SISTEMAS PARA INTERNET
CAROLINA MOREIRA OLIVEIRA
RELATÓRIO FINAL DE ESTÁGIO
GUARAPUAVA
2013
CAROLINA MOREIRA OLIVEIRA
RELATÓRIO FINAL DE ESTÁGIO
Relatório final apresentado à disciplina deEstágio Curricular Obrigatório do curso deTecnologia em Sistemas para Internet,Campus Guarapuava, da UniversidadeTecnológica Federal do Paraná, comorequisito parcial para aprovação na referidadisciplina.
Á r e a d e c o n c e n t r a ç ã o : R e d e s d eComputadores
Orientador: Prof. Ms. Hermano Pereira
GUARAPUAVA
2013
IDENTIFICAÇÃO DO ESTAGIÁRIO
Estagiário: Carolina Moreira Oliveira
RA: 1254804
Período: Quarto Período
E-mail: [email protected]
Unidade Concedente de Estágio (UCE): Universidade Estadual do Centro-Oeste
Endereço: Rua Padre Salvador, 875
Bairro: Santa Cruz
Cidade: Guarapuava
Telefone: (42) 3621 1359
Supervisor de Estágio na UCE: Edson Gardin
Vigência do Estágio: 10/09/2012 a 21/12/2012
Horário do Estágio: Segunda à sexta, das 8h às 12h
Professor Orientador: Hermano Pereira
Área de Concentração: Redes de Computadores
SUMÁRIO
1 INTRODUÇÃO...........................................................................................................4
1.1 Objetivos.............................................................................................................4
2 EMPRESA CONCEDENTE........................................................................................5
3 ATIVIDADES DESENVOLVIDAS..............................................................................7
3.1 Fazer um levantamento do ambiente de rede existente que deve ser
monitorado................................................................................................................7
3.2 Fazer estudo de protocolo de gerenciamento....................................................7
3.3 Identificar ferramentas que possam fazer monitoramento de ambiente............7
4 DIFICULDADES ENCONTRADAS .........................................................................10
5 DISCIPLINAS RELACIONADAS.............................................................................11
6 CONCLUSÃO..........................................................................................................12
REFERÊNCIAS...........................................................................................................13
APÊNDICE A – TÍTULO DO APÊNDICE...................................................................14
ANEXO A – TERMO DE ACORDO............................................................................15
4
1 INTRODUÇÃO
A finalidade do estágio do curso de Sistemas para Internet, assim como dos demais
cursos oferecidos pela Universidade Tecnológica Federal do Paraná, é a
complementação curricular. Através da aproximação do acadêmico à realidade do
ambiente de trabalho em uma empresa. Desta forma, proporciona a utilização
prática da teoria exposta em sala de aula e motiva o trabalho em equipe.
Conforme o Plano de Estágio, precisava fazer um levantamento do ambiente
de rede existente, principalmente servidores que não possuem regras, mais
conhecidos como servidores de DMZ. Em português quer dizer zona desmilitarizada,
é a área de rede que permanece entre a rede interna de uma organização e uma
rede externa, em geral a Internet. Comumente, uma DMZ contêm equipamentos
apropriados para o acesso à internet.
Também se fez necessário o estudo do protocolo de gerenciamento SNMP.
É um protocolo simples de gerência de rede (Simple Network Management
Protocol), é um protocolo da camada de aplicação, de gerência típica de redes, que
facilita o intercâmbio de informação entre os dispositivos de rede, como placas e
comutadores
O presente relatório apresenta as atividades desempenhadas no setor de
Coordenadoria de Tecnologia e Informação (COORTI) da Universidade Estadual do
Centro-Oeste. O estágio consistiu no estudo e monitoramento das redes internas da
Unicentro e correspondeu a 280h.
1.1 Objetivos
Conforme Plano de Estágio, figuraram como objetivos:
1. Fazer um levantamento do ambiente de rede existente que deve ser
monitorado (principalmente servidores de DMZ);
2. Fazer estudo de protocolo de gerenciamento (principalmente o SNMP); e
3. Identificar ferramentas que possam fazer monitoramento de ambiente.
5
2 EMPRESA CONCEDENTE
O Ensino Superior em Guarapuava iniciou em 1º de março de 1970, com a
instalação da Faculdade de Filosofia, Ciências e Letras de Guarapuava, FAFIG, com
4 cursos: Letras, Geografia, História e Matemática.
Em 27 de outubro de 1976, o Presidente da República autorizou a instalação
de mais dois cursos, sendo Ciências Licenciatura de 1º Grau e Pedagogia, e, em
1980, tiveram início os cursos de Administração e de Ciências Contábeis.
Por meio da Lei nº 9295, de 13 de junho de 1990, foi instituída a Fundação
Universidade Estadual do Centro-Oeste, com sede e foro na cidade de Guarapuava,
entidade mantenedora da Faculdade de Filosofia, Ciências e Letras de Guarapuava,
FAFIG, e da Faculdade de Educação, Ciências e Letras de Irati, FECLI. Por meio do
Decreto nº 3444, de 08 de agosto de 1997, publicado no Diário Oficial do Estado do
Paraná nº 5.063, de 8 de agosto de 1997, foi reconhecida a Universidade Estadual
do Centro-Oeste, UNICENTRO, com sede e Campus na cidade de Guarapuava e
Campus na cidade de Irati.
No Campus de Guarapuava, em julho de 1995, foram instalados os cursos
de Análise de Sistemas e Ciências Econômicas; em 1997, os cursos de Química e
Ciências Biológicas; em 1998 o curso de Engenharia de Alimentos; em 1999 os
cursos de Nutrição e Enfermagem; em 2000 o curso de Fisioterapia; em 2001 os
cursos de Filosofia, Serviço Social e Secretariado Executivo; em 2002 os cursos de
Comunicação Social e Física e, em 2003 os cursos de Farmácia, Arte-Educação,
Agronomia, Medicina Veterinária, além do curso seqüencial de Gestão Imobiliária.
No ano de 2004, tiveram início os seguintes cursos seqüenciais: Administração de
Micro e Pequenas Empresas, Gestão de Empreendimentos em Turismo Rural,
Políticas Públicas e Gerência Municipal.
A UNICENTRO situa-se na região Centro-Oeste do Estado, abrangendo 50
municípios, com uma população aproximada de 1 milhão de habitantes, ofertando,
atualmente, 47 cursos de graduação no Campus de Guarapuava e 19 no Campus
de Irati (alguns com mais de uma habilitação). Alguns cursos são ofertados também
em campi avançados ligados a cada campus universitário.
6
3 ATIVIDADES DESENVOLVIDAS
As atividades desenvolvidas remetem aos objetivos especificados na Seção 1.1.
Cada item será detalhado abaixo:
3.1 Fazer um levantamento do ambiente de rede existente que deve ser monitorado
Como primeira atividade, foi necessário conhecer o ambiente de rede em
funcionamento na Unicentro. A atenção principal foi dada aos servidores DMZ. A
compreensão proveio de informações obtidas através de comunicações verbais com
o Supervisor de Estágio. Por vezes, as explicações eram orientadas por esboços e
esquemas gráficos.
3.2 Fazer estudo de protocolo de gerenciamento
Em seguida, buscou-se conhecer aspectos teóricos de protocolos de gerenciamento.
A ênfase de aspectos práticos foi dada ao protocolo SNMP. As informações de
estudo provieram das pesquisas nas referências bibliográficas das disciplinas
correlatas, especificadas na Seção 5 (STALLINGS, 2005; TANENBAUM, 2011;
TORRES, 2009).
Informações atualizadas e de natureza mais prática provieram de exaustivas
pesquisas na Internet. Como as informações deste tema provieram de fontes
dispersas e, a maioria, foi encontrada em fóruns da área, houve validação do
conhecimento adquirido através de testes realizados pela acadêmica. Com isto, foi
constante o auxílio tando do Supervisor quanto do Orientador de Estágio.
3.3 Identificar ferramentas que possam fazer monitoramento de ambiente
Consistiu na etapa mais extenuante do estágio. Foi realizada pesquisa sobre as
ferramentas de monitoramento existentes para ambientes de redes. Conforme
7
seleção realizada após a pesquisa, as seguintes ferramentas foram apresentadas ao
Supervisor de Estágio: Cacti1, Nagios2 e Zabbix3.
Em comum acordo, optou-se pela ferramenta Nagios. Critérios que
subsidiaram a escolha foram:
1. O monitoramento preciso proporcionado pela ferramenta;
2. A possibilidade de configurações diversas devido ao código aberto da
ferramenta;
3. Preferência e conhecimento anteriores pelo Supervisor de Estágio.
Realizada a escolha, a estagiária precisou investir esforços na compreensão
do funcionamento da ferramenta. A curva de aprendizado foi lenta devido à
fragmentação de informações sobre o Nagios.
A instalação do Nagios e o respectivo monitoramento foi realizado através de
máquinas virtuais com sistema operacional Debian. Não convinha expor a
(segurança da) rede de toda uma universidade por motivo de um trabalho
experimental.
Informações dispersas sobre instalação, configuração e funcionamento
conturbaram toda esta fase em específico. Exemplo disto foi a falta de retorno
quando se tentava monitorar a máquina hospedeira (Windows 7). Não se sabia os
reais motivos do Nagios não fornecer retorno. Foi investigado se era questão de falta
de conhecimento sobre a ferramenta ou mal funcionamento propriamente dito.
Foram realizadas insistentes tentativas. Uma forma de dar continuidade ao
trabalho foi testar o monitoramento através de uma máquina virtual Debian.
Posteriormente, foi realizada uma tentativa com o Windows Server 2003. Com o
sucesso desta duas tentativas em especial descobriu-se, em suposição com o
Supervisor de Estágio, que o problema residia na política de permissões do
Windows 7 e dos nível de acesso do usuário habilitado para a estagiária.
Com o sucesso destas operações, por fim, foram determinados quais
serviços da rede podem ser monitorados:
1 Disponível em: http://www.cacti.net/2 Disponível em: http://www.nagios.org/3 Disponível em: http://www.zabbix.com/
8
1. Ping;
2. Uso da memória primária;
3. Uso do processador;
4. Espaço em disco;
5. Estatística de usuários;
6. Fila de impressão;
7. Disponibilidade de uma página web;
8. Banco de Dados;
9. Entre outros.
Informações detalhadas sobre o conhecimento construído com este estágio
foram formalizadas em um relatório técnico presente no Apêndice A deste
documento.
9
4 DIFICULDADES ENCONTRADAS
A primeira dificuldade residiu nas limitações do convênio estabelecido entre a
UTFPR e a Unicentro que inibem a realização de Estágio Obrigatório remunerado.
Assim, o estágio foi realizado integralmente sem o recebimento de contraprestação
financeira (voluntário). Consistiu em um fator de grande impacto para a motivação
da acadêmica quanto estagiária.
Além disto, percebeu-se, nas pesquisas necessárias para a condução do
estágio, grande fragmentação de informações sobre o tema. Por se tratar de
informações/tecnologias emergentes, a maioria das fontes consistiu em tópicos
dispersos de fóruns sobre os conteúdos abordados. Inexistem referências práticas
sobre os assuntos abordados na literatura da área. Desta forma, a maioria do
conhecimento construído proveio de informações dispersas coletadas na Internet e
devidamente validada pela acadêmica através de testes.
Por fim, cita-se também que, diante da política de segurança adotada em
resposta ao porte alcançado pela instituição (Unicentro), há restrições óbvias de
acesso para a realização de um estágio. Trata-se de uma limitação bastante
compreensível, visto que o acesso de um estagiário recém chegado poderia
comprometer o funcionamento da rede.
10
5 DISCIPLINAS RELACIONADAS
O estágio teve abrangência incisiva da área de Redes de Computadores e, durante
a execução, não perdeu o foco inicialmente proposto. Identifica-se correlação das
atividades desenvolvidas com os conteúdos abordados pela seguintes disciplinas,
em respectiva ordem:
1. Redes de Computadores, Terceiro Período;
2. Gerência e Configuração de Serviços para Internet, Quarto Período;
3. Comunicação de Dados, Segundo Período.
A afinidade do estágio desenvolvido com o curso de Tecnologia em Sistemas para
Internet se justifica por incidir sobre a área de Redes de Computadores. Tal área
corresponde a uma considerável fração das disciplinas do curso e esteve presente
em todos os períodos cursados além do primeiro.
11
6 CONCLUSÃO
Entendeu-se a atividade de Estágio Obrigatório como muito relevante dentro da
grade curricular do curso de Tecnologia em Sistemas para a Internet. Tratou-se de
uma oportunidade para um processo mais intenso de orientação e de
amadurecimento acadêmico.
Além disto, correspondeu também à possibilidade de acompanhar o
cotidiano de um departamento de tecnologia tão bem consolidado quanto a COORTI
da Unicentro. Foi rica a experiência tanto em âmbito interpessoal quanto em
conhecimento de aspectos interpessoais e hierárquicos de uma universidade.
Também se observou a importância do entrosamento e fluidez de uma equipe no
desenvolvimento das atividades do departamento.
No decorrer do estágio, percebeu-se a interconexão e a importância de
temas tratados pelas disciplinas. Tanto que houve muita aplicação de conhecimentos
anteriores, vistos em sala de aula, nos estudos para o monitoramento da rede.
Dentro disto, teve destaque a importância do orientador para estabelecer o vínculo
entre o conhecimento exigido em um estágio e formas de obtê-lo.
Por fim, acredita-se que o estágio teve contribuição em entregar um
acadêmico melhor preparado às atividades profissionais da área. Desta forma,
torna-se o acadêmico melhor preparado para enfrentar a severa concorrência do
mercado de trabalho atual.
12
REFERÊNCIAS
STALLINGS, William. Redes e sistemas de comunicação de dados: teoria eaplicações corporativas. Rio de Janeiro, RJ: Elsevier, 2005. xvi, 449 p. ISBN8535217312.
TANENBAUM, Andrew S. Redes de computadores. 5.ed. São Paulo: PearsonPrentice Hall, 2011. xvi, 582p. ISBN 9788576059240.
TORRES, Gabriel. Redes de Computadores – Versão Revisada e Atualizada.2.ed. :Novaterra, 2009, 800p. ISBN 9788561893057.
13
APÊNDICE A – TÍTULO DO APÊNDICE
1. Instalando e Configurando o Nagios
1) Dependências necessárias para instalação do Nagios e seus plugins
• Instala as dependências
# apt-get -y install apache2 build-essential libgd2-xpm-dev
# apt-get -y install libjpeg62 libjpeg62-dev libpng12-dev
# apt-get -y install snmp libsnmp-base
# apt-get -y install libssl-dev openssl
# apt-get -y install mc rsh-server openssh-server
# apt-get -y install php5 php-pear libsnmp9-dev rcconf
# apt-get -y install libsasl2-2 libsasl2-modules sasl2-bin mutt postfix
2) Instalando o Nagios
• Cria usuário nagios com senha nagios
# useradd -m -s /bin/bash nagios
# passwd nagios
• Cria grupo nagios
# groupadd nagios
# usermod -G nagios nagios
• Baixa Nagios 3
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-
3.2.1.tar.gz
ou
# apt-get install nagios3
• Descompacta nagios
# tar xzf nagios-3.2.1.tar.gz
# cd nagios-3.2.1
14
• Cria usuário nagiosadmin para acesso a web
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
• Reinicia apache
# /etc/init.d/apache2 restart
3) Já é possível acessar o Nagios via browser digitando
http://ipdoservidornagios/nagios (Utilizando o usuário nagiosadmin e senha definida acima.)
4) Instalando os plugins do Nagios
Os plugins do Nagios são os responsáveis pelos comandos a serem
executados nos servidores clientes, você pode instalar vários outros plugins ou até
mesmo criar os seus. Vários plugins para Windows/Linux prontos:
http://www.monitoringexchange.org/)
• Baixa plugins do nagios 1.4.15
# wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-
plugins-1.4.15.tar.gz
• Descompacta plugins
# tar -xvf nagios-plugins-1.4.15.tar.gz
• Instalando o nagios-plugins
# ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-
group=nagios
# make
# make install
5) Ajustes finais
• Altere a permissão do diretório Nagios
# chown nagios.nagios -R /usr/local/nagios
• Reinicie os serviços do Apache e do Nagios
15
# /etc/init.d/apache2 restart
# /etc/init.d/nagios restart
2. Configurando o Monitoramento
Primeiro será necessário configurar os parâmetros simples para o monitoramento do
Nagios, para posteriormente instalarmos os addons de checagens. Adicione as
variáveis ao resouce.cfg.
O arquivo resource.cfg é responsável por armazenar as configurações
referentes as variáveis que serão utilizados para a checagem do Nagios, estas
variáveis devem ser definidos para cada função específica pois elas serão utilizadas
no arquivo commands.cfg.
Nos arquivos secundários, onde estarão as informações que será utilizados
posteriormente nos arquivos de monitoramento dos hosts. Para tal, acesse o
diretório objects dentro do diretório Nagios:
# cd /usr/local/nagios/etc/objects/
Já dentro do diretório objects, faça o backup do arquivo commands.cfg e
crie um novo arquivo com o mesmo nome. O arquivo é responsável por armazenar
as informações de checagem dos serviços, ligando os comandos fornecidos nos
arquivos de checagem dos servidores aos plugins existentes no servidor Nagios:
# mv commands.cfg commands.cfg.bkp
# vim commands.cfg
16
Exemplo de configuração do arquivo commands.cfg:
#### 'check-host-alive' command definitiondefine command{ command_name check-host-alive command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5}
#### Checando os principais servicos LOCAIS# Local HDDdefine command{ command_name check_local_disk command_line $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$}
# LOAD
define command{
command_name check_local_load
command_line $USER1$/check_load -w $ARG1$ -c $ARG2$
}
# PROCESS
define command{
command_name check_local_procs
command_line $USER1$/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
}
# USERS
define command{
command_name check_local_users
command_line $USER1$/check_users -w $ARG1$ -c $ARG2$
}
# SWAPdefine command{ command_name check_local_swap command_line $USER1$/check_swap -w $ARG1$ -c $ARG2$}
# MRTGTRAFdefine command{ command_name check_local_mrtgtraf command_line $USER1$/check_mrtgtraf -F $ARG1$ -a $ARG2$ -w $ARG3$ -c $ARG4$ -e $ARG5$}
####Checagem dos servicos# FTPdefine command{ command_name check_ftp
17
command_line $USER1$/check_ftp -H $HOSTADDRESS$ $ARG1$}
# HPJDdefine command{ command_name check_hpjd command_line $USER1$/check_hpjd -H $HOSTADDRESS$ $ARG1$}
# SNMPdefine command{ command_name check_snmp command_line $USER1$/check_snmp -H $HOSTADDRESS$ $ARG1$}
# HTTPdefine command{ command_name check_http command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$}
# SSHdefine command{ command_name check_ssh command_line $USER1$/check_ssh $ARG1$ $HOSTADDRESS$}
# DHCPdefine command{ command_name check_dhcp command_line $USER1$/check_dhcp $ARG1$}
# PINGdefine command{ command_name check_ping command_line $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5}
# PING GOOGLEdefine command{ command_name check_google command_line $USER1$/check_ping -H www.google.com.br -w 60,70% -c 80,90%}
# POPdefine command{ command_name check_pop command_line $USER1$/check_pop -H $HOSTADDRESS$ $ARG1$}
# IMAPdefine command{ command_name check_imap command_line $USER1$/check_imap -H $HOSTADDRESS$ $ARG1$}
# SMTPdefine command{ command_name check_smtp command_line $USER1$/check_smtp -H $HOSTADDRESS$ $ARG1$}
18
# TCPdefine command{ command_name check_tcp command_line $USER1$/check_tcp -H $HOSTADDRESS$ -p $ARG1$ $ARG2$}
# UDPdefine command{ command_name check_udp command_line $USER1$/check_udp -H $HOSTADDRESS$ -p $ARG1$ $ARG2$}
# NTdefine command{ command_name check_nt command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$}####COMANDOS ADICIONAIS# DISCOdefine command{ command_name check_disk command_line $USER1$/check_disk -w limit -c limit -t 5}# IMPRESSORA HPdefine command{ command_name check_hp_print command_line $USER1$/check_hp_print -H $HOSTADDRESS$ $ARG1$ $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$}
# TERMINAL SERVICEdefine command{ command_name check_ts command_line $USER$/check_ts -H $HOSTADDRESS$ -p 3389}
# PRINTERSdefine command{ command_name check_printer command_line $USER1$/check_printer $HOSTADDRESS$ $USER8$ $ARG1$ $ARG2$ $ARG3$ $ARG4$}
# WIRETEMPdefine command{ command_name check_1-wiretemp command_line $USER1$/custom/check_1-wiretemp -c $ARG1$ -w $ARG2$ -W$ARG3$ -C$ARG4$ -i $ARG5$ -o $ARG6$}
# NRPEdefine command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$}
# OPENVPNdefine command{ command_name check_openvpn command_line /usr/lib/nagios/plugins/check_openvpn -t $ARG1$ -p $ARG2$ -n $ARG3$}
# SQUID
19
define command{ command_name check_squid command_line $USER1$/check_squid.pl -u http://www.google.com.br -p $HOSTADDRESS$ -l 8080 -o usuario -m senha -e 200}
# SAMBAdefine command{ command_name check_samba command_line $USER1$/check_samba -L $HOSTADDRESS$}
# WINTEMPdefine command{ command_name check_snmp_wintemp command_line $USER1$/check_snmp_wintemp -L $HOSTADDRESS$}
# 3COMdefine command{ command_name check_3com command_line $USER1$/check_3com.pl -H $HOSTADDRESS$ -C $ARG1$ -u $ARG2$}
# SWITCH UPTIMEdefine command { command_name check_switch_uptime command_line $USER1$/check_switch_uptime.pl -H $HOSTADDRESS$ -C $ARG1$ -w $ARG2$ -c $ARG3$}
# MEMORIAdefine command { command_name check_mem command_line $USER1$/check_mem -w $ARG1$ -c $ARG2$}
# MRTGdefine command { command_name check_mrtgtraf command_line $USER1$/check_mrtgtraf -F $ARG1$ -a $ARG2$ -w $ARG3$ -c $ARG4$ -e $ARG5$}
# NAGIOSGRAPHERdefine command{ command_name process-service-perfdata-file command_line mv /usr/local/nagios/var/service-perfdata /usr/local/nagios/var/service-perfdata.$TIMET$}
Ainda no diretório objects, faça o backup do arquivo timeperiods.cfg e crie
um novo arquivo com o mesmo nome. O arquivo timeperiods.cfg é responsável por
armazenar as informações relativas as períodos de tempos utilizados na checagem.
Os períodos de tempos setados aqui, serão utilizados na configuração de cada
serviço nos arquivos de checagem dos servidores:
Exemplo de configuração do arquivo timeperiods.cfg:
20
#### Arquivo TIMEPERIODS.cfg
# TEMPO INTEGRAL 24x7define timeperiod{ timeperiod_name 24x7 alias 24 Hours A Day, 7 Days A Week sunday 00:00-24:00 monday 00:00-24:00 tuesday 00:00-24:00 wednesday 00:00-24:00 thursday 00:00-24:00 friday 00:00-24:00 saturday 00:00-24:00}
# HORARIO DE TRABALHO TOTALdefine timeperiod{ timeperiod_name workhours alias Normal Work Hour monday 09:00-21:00 tuesday 09:00-21:00 wednesday 09:00-21:00 thursday 09:00-21:00 friday 09:00-21:00}
# HORARIO COMERCIALdefine timeperiod{ timeperiod_name comercial alias Horario Comercial monday 08:00-17:40 tuesday 08:00-17:40 wednesday 08:00-17:40 thursday 08:00-17:40 friday 08:00-17:40}
# NONEdefine timeperiod{ timeperiod_name none alias No Time Is A Good Time}
Faça o backup também do arquivo contacts.cfg, e crie um arquivo em branco
com o mesmo nome. Este arquivo é responsável por armazenar as informações dos
grupos e contatos que receberão os e-mails de alertas do Nagios. Com isso é
possível que somente um determinado grupo de usuários do Nagios receba por
exemplo notificações de que serviços críticos ou servidores saíram do ar, assim
dimensionando os alertas para cada camada do respectivo departamento ou filial:
Exemplo de configuração do arquivo contacts.cfg:
#### Arquivo contacts.cfg
# CONTATOS define contact{ contact_name nagios use generic-contact
21
alias Nagios Admin e-mail [email protected] }
# GRUPOS DE CONTATOS
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members Nagios
}
3. Instale o SNMP no servidor Nagios
# cd.. # apt-get install snmp # apt-get install snmpd # wget http://sourceforge.net/projects/net-snmp/files/net-snmp/5.6/net-snmp-5.6.tar.gz/download -O net-snmp-5.6.tar.gz # tar xzf net-snmp-5.6.tar.gz # cd net-snmp-5.6 # ./configure # make # make install # tar xzf nagios-snmp-plugins.1.1.1.tgz –C /usr/src/ #./configure # make # make install
Teste o funcionamento do plugin no servidor: # /usr/local/nagios/libexec/check_nrpe –H ip_servidor NRPE v2.12
4. Adicionando servidores Linux ao Nagios
Para melhor organização, crie alguns diretórios dentro do diretório
/usr/local/nagios/etc, onde serão armazenados os arquivos de configurações dos
servidores e ativos monitorados, neste caso monitoraremos nossos servidores,
switchs e impressoras de rede.
Acesse o diretório “servidores” que você havia criado, e crie um arquivo com o
nome do servidor a ser monitorado. Existe várias definições que podem ser
utilizadas no arquivo de monitoramento de um servidor linux. A primeira configuração
a ser adicionada ao arquivo de monitoramento do servidor é a Definição do Host.
22
### Definicoes do Host ###define host{ use generic-host host_name srv-linux alias Servidor Linux address 192.168.3.40 parents 3Com_4200,srv-proxy
check_command check-host-alivemax_check_attempts 2 check_interval 1notification_interva 1notification_period 24x7notification_options d,u,r
}
No arquivo de configuração do servidor, deve ser informado a que grupo este
pertencerá, esta configuração é efetuada em apenas um dos arquivos de
configuração dos servidores pertencentes a este grupo, sendo que nesta
configuração serão adicionados todos os nomes dos servidores pertencentes a este
grupo, como no exemplo a seguir:
### Grupo ###define hostgroup{
hostgroup_name linux-serversalias Servidores Linuxmembers srv-linux,srv-linux_2
}
A configuração é dividida em partes (e em arquivos) sendo elas:
1) nagios.cfg: arquivo base do Nagios;
2) commands.cfg: contém todas as definições de comandos, parâmetros
necessários para as checagens;
3) contacts.cfg: define os contatos e os grupos de contatos para notificações;
4) templates.cfg: define as opções genéricas para todos os objetos a serem
monitorados. Por exemplo você pode criar um template para monitorar impressoras,
nesse template você define que o tipo de notificação será somente nos casos de
Down. Lembre-se, a opção register deve sempre estar setada como 0.
5) timeperiods.cfg: define os dias e horas que os serviços serão monitorados. Você
pode definir que um serviço seja monitorado dàs 8:00 até às 18:00. Eventos fora
desse período não serão alertados. Sendo assim, é necessário saber o seguinte
23
para efetuar a configuração: (1) Todo host, tem que ter um template para ele, por
padrão usa-se o template genérico de hosts, ele atende em 90% dos casos. (2) Todo
serviço tem que ter um host associado a ele, que por sua vez também tem que ter
um template genérico para ele. (3) Todo comando deve ser especificado no arquivo
commands.cfg (é como se fosse o template do comando), lá já existem alguns
comandos prontos para uso.
# /usr/local/nagios/etc/object – localiza-se os arquivos de configuração. É a
partir daqui que se faz as alterações no Nagios.
# /usr/local/nagios/etc/nagios.cfg – é o caminho de configuração do Nagios.
Onde será colocado os caminhos dos arquivos dos equipamentos a serem
monitorados.
O Nagios monitora tanto hosts como serviços. Por exemplo, você tem um
servidor web e por algum motivo o serviço de http cai, mais a máquina fica online,
um alerta é gerado, e uma ação por parte do sysadmin é tomada.
Os monitores de serviços são scripts criados em diversas linguagens, que
retornam os valores para o Nagios e esse por sua vez trata os valores como estados
que são eles: 1) OK 2) WARNING 3) UNKNOWN 4)CRITICAL
5. Comandos de verificação
O Nagios funciona com scripts que faz a verificação de hosts, serviços. Na
instalação, todos os scripts ficam no diretório /usr/lib/nagios/plugins. O arquivo
commands.cfg é responsável por parametrizar os comandos de checagem, sendo
assim quando na opção check_command é definido check_ping. Por exemplo, o
Nagios busca as informações (path, arguimentos requeridos etc…) sobre o plugin.
Todas as linhas são auto explicativas e bem parecidas com as anteriores, o
que vale dizer é: $USER1$: é o path dos scripts, $ARG1$: o primeiro argumento
passado ao script, esse número de argumentos é “infinito” e por ultimo
$HOSTADDRESS$: é o endereço da máquina, ele pega esse valor da definição do
host.
24
Vale lembrar que antes de definir um serviço você deve dar uma olhada no
commands.cfg e no diretório /usr/lib/nagios/plugins para ver quais scripts estão
disponíveis para o uso.
6. Monitorando o Window
Para monitorar o Windows, precisa instalar Cliente NSClient ++1. Que será
responsável por buscar informações sobre o que está se monitorando.
Instalação do NSClient ++:
1. Na primeira tela clicar em next;
2. Na segunda tela, marcar a opção “I accept the terms in the License
Agreement”;
3. Na terceira tela, escolher a opção “Complete”;
4. Na quarta tela, marcar a opção “Allow all users to write config file”;
5. Na quinta tela informar o ip e senha do Nagios, e marcas as opções: “Enable
common check plugins”, “Enable nsclient server (check_nt)”, “Enable NRPE
server (check_nrpe)”, e “Enable WMI checks”.
6. Na sexta tela, instalar o programa e finalizar.
Após o termino da instalação. Confirme se o serviço está funcionando. Entre
no painel de controle, depois em ferramentas administrativas, servições e escolha o
NSClient ++.
# /usr/local/nagios/etc/objects/windows.cfg
#### HOST DEFINITIONS
define host{use windows-serverhost_name winserveralias My Windows Server
address 10.10.0.155}
#### HOST GROUP DEFINITIONS
1 Disponível em: http://www.nsclient.org/nscp/downloads
25
define hostgroup{hostgroup_name windows-serversalias Windows Servers
}
#### SERVICE DEFINITIONS
define service{use generic-servicehost_name winserverservice_description NSClient++ Versioncheck_command check_nt!CLIENTVERSION
}
define service{use generic-servicehost_name winserverservice_description Uptimecheck_command check_nt!UPTIME
}
define service{use generic-servicehost_name winserverservice_description CPU Loadcheck_command check_nt!CPULOAD!-l 5,80,90
}
define service{use generic-servicehost_name winserverservice_description Memory Usagecheck_command check_nt!MEMUSE!-w 80 -c 90
}
define service{use generic-servicehost_name winserverservice_description C:\ Drive Spacecheck_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}
define service{use generic-servicehost_name winserverservice_description W3SVCcheck_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}
define service{use generic-servicehost_name winserverservice_description Explorercheck_command check_nt!PROCSTATE!-d SHOWALL -l
explorer.exe}
26
Se possuir a necessidade de um arquivo pré configurado com alguns serviços
p a r a m o n i t o r a m e n t o d o w i n d o w s , e x i s t e u m p r é c o n f i g u r a d o :
/usr/share/doc/nagios3-common/examples/template-object/windows.cfg
O arquivo pré configurado, precisa ser substituído as informações da maquina
windows. E após iniciar você percebera que o Explorer não vai ter retorno. Você
precisa editar o arquivo # windows.cfg e mudar o “check_command” para
“explorer.exe” o que antes era “Explorer.exe”. Assim começara a funcionar esse
serviço também. Após configurar o arquivo que possui os serviços, só restartar o
Nagios, agora o Windows já está sendo monitorado.
27
ANEXO A – TERMO DE ACORDO
Eu, Edson Gardin, Supervisor de Estágio, estou de pleno acordo com as atividades
desenvolvidas e descritas neste relatório pelo estagiário Carolina Moreira Oliveira,
no cargo de estagiária na empresa, no período de 10/09/2012 a 21/12/2012, na
empresa.
Guarapuava, 25 de Junho de 2013.
Carimbo e assinatura do Supervisor de Estágio