Professional Documents
Culture Documents
Campus Trindade
Disciplinas
Gerncia de redes
Redes de alta velocidade
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
Figura 4
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.
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
Figura 18
# cd /usr/src
Figura 19
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
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
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
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_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
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.