relatÓrio final de estÁgio - dieem - divisão de ... · informações atualizadas e de natureza...

28
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

Upload: dangthien

Post on 10-Jul-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

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