You are on page 1of 24

Universidade Estadual de Gois

Campus Trindade

Curso Superior de Tecnologia em Redes de


Computadores

Disciplinas
Gerncia de redes
Redes de alta velocidade

Prof. Claudio Martins Garcia


Aluno: Josimar Modesto

Instalar e configurar o software de gerencia Nagios gerando documentao passo a passo, incluindo
agente para Windows e Linux.

Para realizar esse procedimento utilizei um Notebook LG Modelo A520 com a configurao abaixo:
(Figura 1 e 2)
Processador Intel i3 2.10 Ghz
Memoria DDR3 de 8GB
Hard Disk 500GB

Figura 1

Figura 2

Para tal foi instalado o software de virtualizao Vmware verso 10.0.1, e foram criadas 3 maquinas
virtuais como descritas abaixo:
1 Mquina virtual Debian verso 7.9 64bits (Figura 3)

Figura 3

2 Mquina virtual CentOS verso 6.6. (Figura 4)

Figura 4

3 Mquina virtual Windows Server 2012 Datacenter. (Figura 5)

Figura 5

As configuraes pertinentes a rede de cada mquina virtual ficou definida como mostrado abaixo:
1 Servidor Debian (Nagios)
Endereo IP: 192.168.119.143
Mscara de Sub-rede: 255.255.255.0
Gateway: 192.168.119.2
2 CentOs (host cliente)
Endereo IP: 192.168.119.145
Mscara de Sub-rede: 255.255.255.0
Gateway: 192.168.119.2
3 Windows Server 2012 (host cliente)
Endereo IP: 192.168.119.144
Mscara de Sub-rede: 255.255.255.0
Gateway: 192.168.119.2
Servios ativos: DHCP, DNS, Servios de armazenamento.

Sero descritos agora os passos para a instalao do Nagios.


1- Instalao
Para comearmos o processo de instalao do Nagios devemos atualizar o sources.list,
proceda da seguinte maneira. Copie as linhas de cdigo abaixo e cole no arquivo sources.list com o
comando abaixo edite o arquivo: (Figura 6)
# nano /etc/apt/sources.list
Salve o arquivo com as modificaes, e para atualizar digite os comandos:
# apt-get update
# apt-get upgrade

Figura 6

1.1- Aps a atualizao, iremos instalar os pacotes requeridos para o funcionamento do nagios.
Digite o comando como mostrado abaixo: (Figura 7)
# apt-get install build-essential libgd2-xpm-dev snmp snmpd libnet-snmp-perl libgd-tools xinetd
rcconf apache2 php5 vim openssh-server -y

Figura 7

1.2- Agora iremos criar um usurio para o Nagios no sistema. Para isso digite o comando abaixo:
(Figura 8)
# useradd -s /sbin/nologin nagios

Figura 8

1.3- Precisamos baixar, renomear e descompactar os arquivos do Nagios, para isso entre no diretrio
/usr/src/ como mostrado abaixo e digite os comandos: (Figura 9 e 10)
# cd /usr/src/
# wget http://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.0.8/nagios4.0.8.tar.gz/download?use_mirror=ufpr&r=&use_mirror=ufpr

Figura 9

# mv download\?use_mirror\=ufpr nagios-4.0.8.tar.gz
# tar -zxvf nagios-4.0.8.tar.gz

Figura 10

1.4- Agora iremos compilar o Nagios, para isso digite todos os comandos informados abaixo: (Figuras
11,12,13,14,15,16 e 17)
# cd nagios-4.0.8/
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-snmp --with-nsmpd -with-snmpwalk

Figura 11

# make all

Figura 12

# make install

Figura 13

# make install-init

Figura 14

# make install-commandmode

Figura 15

# make install-config

# make install-webconf

Figura 16

# make install-classicui

Figura 17

1.5- Instalando o plug-in


Daremos continuidade agora instalando os plug-in necessrios ao funcionamento do Nagios. Digite
todos os comandos abaixo seguindo a ordem: (Figuras 18,19,20,21,22,23 e 24)
# wget http://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz

Figura 18

# cd /usr/src

Figura 19

# tar -zxvf nagios-plugins-2.1.1.tar.gz

Figura 20

# cd nagios-plugins-2.1.1/

Figura 21

# ./configure

Figura 22

# make

Figura 23

# make install

Figura 24

1.6- Agora precisamos iniciar o Nagios junto com o sistema, para isso editamos o arquivo
"/etc/init.d/bootmisc.sh" e adicionamos a linha de comando abaixo ao fim do arquivo.
Editar o arquivo: (figura 25)
nano /etc/init.d/bootmisc.sh

Figura 25

Comando a ser inserido no arquivo bootmisc: (Figura 26)


service nagios start

Figura 26

1.7- Para comeamos as configuraes do Nagios precisamos iniciar os servios, para isso digitamos o
comando abaixo: (Figura 27)
# service nagios start

Figura 27

1.8- Agora criaremos o arquivo que armazenara os usurios que iro administrar o Nagios. Se por
acaso no existir, criaremos um arquivo em branco chamado de htpasswd.users dentro do
diretrio do Nagios.
Digite o comando abaixo:
# vim /usr/local/nagios/etc/htpasswd.users

Figura 28

Aps criar o arquivo salve e feche-o.

1.9- Com o comando abaixo vamos criar o usurio administrador do Nagios: (Figura 29)
# htpasswd /usr/local/nagios/etc/htpasswd.users josimaradmin
Cria a senha e confirme.

Figura 29

Assim que criado o usurio josimaradmin, o arquivo htpasswd.users que armazena os usurios
que administram o nagios recebe o usurio criado. (Figura 30)

Figura 30

2.0- Agora iremos reiniciar os servios do Nagios e do Apache.


Digite os comandos abaixo: (Figura 31)
# service nagios restart
# service apache2 restart

Figura 31

2.1- Agora vamos acessar o Nagios e testar se est funcionando, para isso abra o navegador de
internet e informe o endereo ip do servidor como mostrado abaixo:
HTTP://x.x.x.x/nagios (onde x.x.x.x o IP do servidor do Nagios)
Por exemplo, no meu servidor ficou assim: (Figura 32)
http://192.168.119.143/nagios
Sero solicitados o usurio e a senha, digite e de ok.

Figura 32

Voc ver que o Nagios est monitorando o prprio servidor Nagios, faremos agora com que o
Nagios monitore os outros ativos da rede. (Figura 33)

Figura 33

2.2- Para isso precisamos fazer uma cpia dos arquivos originais e depois criamos nossos prprios
arquivos. Digite os comandos abaixo: (Figura 34)
# cd /usr/local/nagios/etc/
# cp nagios.cfg nagios.cfg2

Figura 34

2.3- Em seguida faremos o mesmo com os arquivos localhost e templates, como mostrado abaixo,
entre no diretrio: (Figura 35)
# cd /objects
# mv localhost.cfg localhost.cfg2
# mv templates.cfg templates.cfg2

Figura 35

2.4- Agora vamos editar o arquivo templates.cfg e copiar e colar o cdigo abaixo no arquivo: use o
vim ou nano, como preferir: (Figura 36)

Figura 36

###########################################
# TEMPLATES.CFG - SAMPLE OBJECT TEMPLATES
#
#
# NOTES: This config file provides you with some example object definition
#
templates that are refered by other host, service, contact, etc.
#
definitions in other config files.
#

#
You don't need to keep these definitions in a separate file from your
#
other object definitions. This has been done just to make things
#
easier to understand.
#
##########################################
##########################################
##########################################
#
# CONTACT TEMPLATES
#
##########################################
##########################################
# Generic contact definition template - This is NOT a real contact, just a template!
define contact{
name
generic-contact ; The name of this contact template
service_notification_period 24x7 ; service notifications can be sent anytime
host_notification_period
24x7 ; host notifications can be sent anytime
service_notification_options w,u,c,r,f,s ; send notifications for all service states, flapping
events, and scheduled downtime events
host_notification_options
d,u,r,f,s ; send notifications for all host states, flapping events,
and scheduled downtime events
service_notification_commands notify-service-by-email ; send service notifications via email
host_notification_commands notify-host-by-email ; send host notifications via email
register
0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL CONTACT, JUST A
TEMPLATE!
}
#########################################
#########################################
#
# HOST TEMPLATES
#
#########################################
#########################################
# Generic host definition template - This is NOT a real host, just a template!
define host{
name
generic-host ; The name of this host template
notifications_enabled
1 ; Host notifications are enabled
event_handler_enabled
1 ; Host event handler is enabled
flap_detection_enabled
1 ; Flap detection is enabled
process_perf_data
1 ; Process performance data
retain_status_information
1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
notification_period 24x7 ; Send host notifications at any time
register
0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A

TEMPLATE!
max_check_attempts 4 ; Notification get sent out to everyone in the 'admins' group
}
########################################
########################################
#
# SERVICE TEMPLATES
#
########################################
########################################
# Generic service definition template - This is NOT a real service, just a template!
define service{
name
generic-service ; The 'name' of this service template
active_checks_enabled
1 ; Active service checks are enabled
passive_checks_enabled
1 ; Passive service checks are enabled/accepted
parallelize_check
1 ; Active service checks should be parallelized (disabling this can lead
to major performance problems)
obsess_over_service
1 ; We should obsess over this service (if necessary)
check_freshness
0 ; Default is to NOT check service 'freshness'
notifications_enabled
1 ; Service notifications are enabled
event_handler_enabled
1 ; Service event handler is enabled
flap_detection_enabled
1 ; Flap detection is enabled
process_perf_data
1 ; Process performance data
retain_status_information
1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
is_volatile
0 ; The service is not volatile
check_period
24x7 ; The service can be checked at any time of the day
max_check_attempts
3 ; Re-check the service up to 3 times in order to determine its
final (hard) state
normal_check_interval
10 ; Check the service every 10 minutes under normal conditions
retry_check_interval
2 ; Re-check the service every two minutes until a hard state can be
determined
contact_groups
admins ; Notifications get sent out to everyone in the 'admins' group
notification_options w,u,c,r ; Send notifications about warning, unknown, critical, and recovery
events
notification_interval
60 ; Re-notify about service problems every hour
notification_period
24x7 ; Notifications can be sent out at any time
register
0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A
TEMPLATE!
}

2.5- Agora criaremos o arquivo objetos.cfg onde sero armazenadas as configuraes de cada host
monitorado. Devemos configura-lo conforme nosso ambiente, este arquivo um exemplo de fcil
compreenso, caso queira adicionar mais dispositivos, apenas copie a partir de define host{ ate
}.
Copie e cole o cdigo abaixo e faa as alteraes necessrias, para editar use nano ou vim:
(Figura37)
#Ativos do nagios, configurado por Josimar M. da Silva
define host{
use generic-host
host_name PC1
alias SERVER2012
address 192.168.119.144
check_command check-host-alive
contact_groups admins
}
define host{
use generic-host
host_name PC2-Linux
alias centos
address 192.168.119.145
check_command check-host-alive
contact_groups admins
}
define host{
use generic-host
host_name SERVIDOR-DEBIAN
alias debian
address 192.168.119.143
check_command check-host-alive
contact_groups admins
}

Figura 37

2.6- Criaremos agora o arquivo chamado servicos.cfg, pois neste arquivo que informamos o que
o nagios vai monitorar em cada um dos hosts que foram configurados no passo anterior. O arquivo
servicos tambm deve ser configurado de acordo com seu ambiente, abaixo segue o modelo
utilizado por mim: (Figura 38)

Figura 38

# Nano servicos.cfg

GNU nano
2.2.6

Arquivo:servicos.cfg

# ficara pingando o host configurado, no meu caso apenas dois hosts que configurei no
arquivo objetos,
# pode ser adicionado mais hosts e servios.
define service{
use generic-service
host_name PC1
service_description Ping
check_command check_ping!100.0,20%!500.0,60%
}
#Monitora o status da porta 3389
define service{
use generic-service
host_name PC1
service_description TCP
check_command check_tcp!3389
}
#Monitora o uso de memria do host Windows e Linux
define service{
use generic-service
host_name PC1
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
}
#Monitora a CPU do host Windows e Linux
define service{
use generic-service
host_name PC1
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}
#Monitora o espao em disco C:\ do host Windows
define service{
use
generic-service
host_name
PC1
service_description
C:\ Drive Space
check_command
check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}

2.7- Agora basta iniciarmos os servios do nagios novamente, como mostrado abaixo:
# service nagios restart

Observe que os servios Windows esto com falha, isso ocorre porque necessrio
instalar nos servidores Windows o Client do Nagios.

OBS: Caso ocorra erros verifique e corrija, pois o mesmo ser informado onde est ocorrendo o erro
apontando inclusive a linha, em seguida reinicie o nagios.

2.8- Nesta parte iremos configurar o nagios para pode ver os clientes Windows.
Observao: no meu ambiente atual utilizo hosts Windows e Linux, no testei em outras
verses.
Em primeiro lugar iremos definir uma senha para nossos clientes Windows, em seguida vamos
modificar no servidor Nagios o arquivo de commands.cfg, conforme abaixo: (Figura 39).
Para editar o arquivo:
Entre no diretrio do nagios:
# cd /usr/local/nagios/etc/objects
# nano commands.cfg
OBS: Lembre-se de verificar no sistema Windows se o Firewall est permitindo a porta 12489

# 'check_local_disk' command definition


define command{
command_name
check_local_disk
command_line
$USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$ -s
senha
}
define command{
command_name
command_line
$ARG1$ $ARG2$
}

check_nt
$USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s senha -v

Figura 39

2.9- Agora preciso ir no sistema Windows e realizar o download do cliente, para isso acesse o link
abaixo e faa o download da verso que corresponde ao seu sistema e em seguida proceda com a
instalao.
Link: http://www.nsclient.org/download/

Figura 40

Para instalar bem simples, s ir dando next,(Figura 41) quando aparecer a opo
Typical na terceira tela, voc deve informar o IP do servidor Nagios, e a senha que foi criada
no passo anterior, quando aparecer a quarta tela escolha todas as opes de "Modules to load".
J no fim da instalao, confirme nos servios do sistema se o servio chamado NSClient
est em execuo, caso contrrio verifique o seu Firewall.

Figura 41

Ao finalizar a instalao reinicie o Nagios:


# service nagios restart

Aguarde alguns instantes e o Nagios ir comear a monitorar o seu cliente Windows.

Figura 42 - Nagios Map

Figura 43- Nagios Hosts

Figura 44- Nagios "PC1" Server2012

Figura 45-Nagios "PC2-Linux" CentOS

Figura 46- Nagios "Servidor-Debian"

Figura 47- Nagios - opo "configuration"

Referncias Bibliogrficas
http://www.parks.com.br/solucoes/operadoras/produtos/gpon-fiberlink-series/

http://www.vivaolinux.com.br/artigo/Nagios-Core-408-com-Debian-7-e-Client-WindowsServer?pagina=1
http://www.vivaolinux.com.br/artigo/Instalacao-e-configuracao-do-Nagios-versoes-321-e-408

http://www.vivaolinux.com.br/artigo/Nagios-Server-e-Maquinas-Clientes-no-CentOS-Instalacaoe-Configuracao

https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/monitoring-windows.html

https://nagiosnapratica.wordpress.com/2010/10/15/nagios-monitorando-so-windows-comnsclient-artigo5/

Figuras
Todas as figuras so de autoria prpria.

You might also like