FUG-BR / Grupo Brasileiro de Usuarios de FreeBSD - Configurando o Nagios
 
23.04  
Inicio arrow Artigos arrow Configurando o Nagios
Principal
Inicio
Noticias
Artigos
Regras da Lista
Assinar a Lista
Histrico da Lista
Forum
Keyserver
PC-BSD: Artigos
PC-BSD: Notcias
Galeria de Imagens
Contador Usurios FUG
FUGs Estaduais
Downloads
Enquetes
FAQ
Resumo do Site
Links
Pesquisar
Contato
Sobre a FUG-BR
RSS / Twitter
-
DOC-BR (FUG BR)
Introduo
Projeto DOC-BR
Handbook
FAQ Oficial
-
+ Noticias
Alertas de Seguranca
Alertas em Ports
BSD em Geral
DaemonNews (Ingles)
MyFreeBSD
Todas Categorias
-
Login
Nome de Usurio

Senha

Lembrar login
Esqueceu sua senha?
Sem conta? Crie uma


Configurando o Nagios PDF Imprimir E-mail
Por Diego Queiroz dos Santos   
20/10/2008
Nagios
Nagios (R) é um sistema de monitoramento de rede e de aplicação. Ele vigia hosts e serviços que você especificar, alertando você quando as coisas correm mal. Diego Queiroz nos contribui com um ótimo tutorial para configurar este serviço muito utilizado pelos administradores de redes.
Algumas coisas que o Nagios pode fazer por voce:


  • Acompanhamento dos serviços de rede (SMTP, POP3, HTTP, NNTP, PING, etc);
  • Acompanhamento de acolhimento recursos (processador carga, uso do disco, etc);
  • Design com simples plugins que permite aos usuários facilmente desenvolver seu próprio serviço de controle;
  • Contato com notificações quando ocorrerem problemas de serviço ou parada de hosts (por e-mail, pager, ou definido pelo metodo pelo usuário);
  • Rotação de Log automática;
  • O apoio para a implementação redundante acompanhamento hosts;
  • Opcional interface web para visualização atual estado de rede, notificação e problema histórico, arquivo de registro, etc.


Ai vai um pequeno tutorial BÁSICO para por o serviço funcionando:

Com o usuario root, baixe e instale o apache:

# cd /usr/ports/www/apache22; make install clean

Aqui vai a parte de autenticação da página, o arquivo com senha fica em /usr/local/etc/nagios/htpasswd.users. Mas fica a seu critério escolher o nome do arquivo, desde que também seja especificado no httpd.conf.

Edite o httpd.conf e insira as seguintes linhas:

#vi /usr/local/etc/apache/httpd.conf


ScriptAlias /nagios/cgi-bin /usr/local/www/nagios/cgi-bin/ bin">
Options ExecCGI
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/etc/nagios/htpasswd.users
Require valid-user # Apenas usuarios cadastrado terão acesso.


Aliasw
/nagios /usr/local/ww/nagios
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/etc/nagios/
htpasswd.users
Require valid-user


Vamos criar o arquivo onde ficará a senha dos usuarios para acesso à página:

# touch /usr/local/etc/nagios/htpasswd.users

# htpasswd -c /usr/local/etc/nagios/
htpasswd.users nagiosadmin

Baixe e instale o nagios:

# cd /usr/ports/net-mgmt/nagios; make install clean

Apos a instalação, voce verá a presenca de alguns arquivos *-sample, copie esses arquivos para seus respectivos nomes, terminado por .cfg. O arquivo principal é o nagios.cfg, lá você deve definir onde estarão os arquivos de configuração.

# cd /usr/local/etc/nagios; vi nagios.cfg

Cada cfg_file corresponde a um arquivo de configuração. Para facilitar iremos fazer o seguinte: definir um diretório único para todos os arquivos de configuração. Nesse caso faça o seguinte:
cfg_dir=/usr/local/etc/nagios/conf

# mkdir /usr/local/etc/nagios/conf

Mova os arquivos de configuração para o diretório:

# mv /usr/local/etc/nagios/*.cfg /usr/local/etc/nagios/conf

Iremos dividir os arquivos de configuração em 3 partes:

1 para as maquinas - hosts.cfg
1 para o grupo de maquinas - hostgroup.cfg
1 para os servicos - services.cfg
1 para o timeperiod - timeperiod.cfg
1 para os contatos - contacts.cfg
1 para o grupo de contatos - contactgroups.cfg

No mesmo diretório:

# vi hosts.cfg

##########################################################
## OBS:Aqui está tudo para localhost, cabe a voce fazer as alteracoes!! ## #
#########################################################

define host{
name servidor notifications_enabled 1
event_handler_enabled 1
flap_detection_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
register 0
}

# localhost
define host{
use servidor
host_name localhost
check_command check-host-alive
max_check_attempts 10
notification_interval 120 \\ Tempo de notificacao, em segundos.
notification_period 24x7 \\ Quando vai ser notificado?
notification_options d,u,r
contact_groups equipe-de-suporte \\ Quem vai ser notificado?
}


###############################################################

# vi hostgroup.cfg


define hostgroup{
hostgroup_name servidores
alias servidores
members localhost //caso tenha mais de um host, separe com uma virgula
}

# vi services.cfg

### Servicos, aqui eh a parte legal !

define service{
name gw
active_checks_enabled 1
passive_checks_enabled 1
parallelize_check 1
obsess_over_service 1
check_freshness 0
notifications_enabled 1
event_handler_enabled 1
flap_detection_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
register 0
}
define service{
name gw
active_checks_enabled 1
passive_checks_enabled 1
parallelize_check 1
obsess_over_service 1
check_freshness 0
notifications_enabled 1
event_handler_enabled 1
flap_detection_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
register 0
}
# roteador
define service{
use gw
host_name localhost
service_description PING
is_volatile 0
check_period 24x7
max_check_attempts 2
normal_check_interval 5
retry_check_interval 3
contact_groups equipe-de-suporte
notification_interval 240
notification_period 24x7
notification_options c,r
check_command check_ping!100.0,20%!500.0,60%
}
# >>> este servidor
define service{
use gw
host_name localhost
service_description SMTP
is_volatile 0
check_period 24x7
max_check_attempts 2
normal_check_interval 5
retry_check_interval 3
contact_groups equipe-de-suporte
notification_interval 120
notification_period 24x7
notification_options c,r
check_command check_smtp
}
define service{
use gw
host_name localhost
service_description IMAP
is_volatile 0
check_period 24x7
max_check_attempts 2
normal_check_interval 5
retry_check_interval 3
contact_groups equipe-de-suporte
notification_interval 120
notification_period 24x7
notification_options c,r
check_command check_imap
}
define service{
use gw
host_name localhost
service_description PING
is_volatile 0
check_period 24x7
max_check_attempts 2
normal_check_interval 5
retry_check_interval 3
contact_groups equipe-de-suporte
notification_interval 120
notification_period 24x7
notification_options c,r
check_command check_ping!100.0,20%!500.0,60%
}
define service{
use gw
host_name localhost
service_description POP3
is_volatile 0
check_period 24x7
max_check_attempts 2
normal_check_interval 5
retry_check_interval 3
contact_groups equipe-de-suporte
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_pop
}
define service{
use gw
host_name localhost
service_description HTTP
is_volatile 0
check_period 24x7
max_check_attempts 2
normal_check_interval 5
retry_check_interval 3
contact_groups equipe-de-suporte
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_http
}

define service{
use gw
host_name localhost
service_description / free space
is_volatile 0
check_period 24x7
max_check_attempts 2
normal_check_interval 5
retry_check_interval 3
contact_groups equipe-de-suporte
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_local_disk!50%!30%!/dev/
ad0s1a # <<< !!! }
 
define service{
use gw
host_name localhost
service_description /tmp free space
is_volatile 0
check_period 24x7
max_check_attempts 2
normal_check_interval 5
retry_check_interval 3
contact_groups equipe-de-suporte
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_local_disk!20%!10%!/dev/ad0s1e # <<< !!!
}
 
define service{
use gw
host_name localhost
service_description /usr free space
is_volatile 0
check_period 24x7
max_check_attempts 2
normal_check_interval 5
retry_check_interval 3
contact_groups equipe-de-suporte
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_local_disk!50%!30%!/dev/ad2s1f # <<< !!!
}
define service{
use gw
host_name localhost
service_description /var free space
is_volatile 0
check_period 24x7
max_check_attempts 2
normal_check_interval 5
retry_check_interval 3
contact_groups equipe-de-suporte
notification_interval 120
notification_period 24x7
notification_options w,u,c,r
check_command check_local_disk!20%!10%!/dev/ad0s1d # <<< !!!
}
define service{
use gw
host_name localhost
service_description Total Processes
is_volatile 0
check_period 24x7
max_check_attempts 2
normal_check_interval 5
retry_check_interval 2
contact_groups equipe-de-suporte
notification_interval 240
notification_period 24x7
notification_options w,u,c,r
check_command check_local_procs!150!200!RSZDT
}

# <<<>
 
# vi timeperiod.cfg
 
define 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
        }
define timeperiod{
        timeperiod_name workhours
        alias "Normal" Working Hours
        monday 09:00-17:00
        tuesday 09:00-17:00
        wednesday       09:00-17:00
        thursday        09:00-17:00
        friday 09:00-17:00
        }
define timeperiod{
        timeperiod_name nonworkhours
        alias Non-Work Hours
        sunday 00:00-24:00
        monday 00:00-09:00,17:00-24:00
        tuesday 00:00-09:00,17:00-24:00
        wednesday       00:00-09:00,17:00-24:00
        thursday        00:00-09:00,17:00-24:00
        friday 00:00-09:00,17:00-24:00
        saturday        00:00-24:00
        }
define timeperiod{
        timeperiod_name none
        alias No Time Is A Good Time
        }
 
 
# vi contact.cfg
 
define contact{
        contact_name    diego
        alias sysadmin
        service_notification_period      24x7
        host_notification_period         24x7
        service_notification_options    w,u,c,r
        host_notification_options        d,u,r
        service_notification_commands   notify-by-email
        host_notification_commands       host-notify-by-email
        email Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo
        }
 
# vi contactgroup.cfg
 
define contactgroup{
        contactgroup_name        equipe-de-suporte
        alias    EQUIPE DE SUPORTE
        members         diego,nagios
        }
 
 
Pronto! Agora basta acessar pelo http://x.x.x.x/nagios 
 
Autor: Diego Queiroz < Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo >
 
Abraços! 
 

Comentrios
Vlw
Por Eduardo Torres Siva em 21/10/2008 11:06:11
tava precisando de um tutorial de nagios. 
vlw... 
esse diego queiroz foda... =DDD
Por diegoqs em 03/11/2008 11:10:07
Lembrando que o smtp tem que ta configurado senao email nao funfa..
Por Diego Dias em 04/11/2008 08:52:03
Realmente uma mo na roda!!!! 
 
O nagios bem sistemtico com suas confs, mas este tutorial ajud amuito. 
 
=]
Por diego em 06/11/2008 00:01:57
Pessoal, pra monitorar servios/recursos externos, iremos precisar de um agente instalado na maquina.. vc tem que instalar o nrpe cd /usr/ports/net-mgmt/nrpe; make install clean ... 
 
to fazendo um tuto completinho agora, falta so uns retoques 
 
http://nagios.sourceforge.net/docs/nrpe/NRPE.pdf
Probl de configuracao - (http://www.fug.
Por wataankaol em 15/01/2009 00:37:14
Ola, reproduzir seu tutorial e estou tendo dificuldade na configurao do Apache. A linha em questo a terceira linha da secao do "ScriptAlias" que voc colocou no tutorial. 
 
Alem do mais, verifiquei tb, que o caminho est  
errado, na linha do "Alias /nagios, onde est apenas 'ww' ao invs de 'www'. 
 
 
freebsd# /usr/local/etc/rc.d/apache22 start 
Performing sanity check on apache22 configuration: 
Syntax error on line 485 of /usr/local/etc/apache22/httpd.conf: 
order not allowed here 
 
 
O que pode ser? alguma sugesto? Estou rodando o apache22. 
 
Grato pela ajuda!
Por diego em 15/01/2009 11:29:06
Poe "AllowOverride All" ou ento, pelo modo mais fcil e menos seguro: 
 
 
Order allow,deny 
Allow from all 
 
 
Options ExecCGI 
 
ScriptAlias /nagios/cgi-bin/ /usr/local/www/nagios/cgi-bin/ 
Alias /nagios/ /usr/local/www/nagios/
Algum tem o Nagios funcionando no Free?
Por ferri em 15/04/2009 18:16:26
Pessoal, 
 
Algum tem o Nagios funcionando no Free? 
 
Putz!! Eu no consigo fazer o Apache funcionar....estou com a verso 7.1 e o Apache 2.2...se algum tiver o procedimento de instalao do apache mais detalhado ficarei agradecido se puderem passar.... 
 
Abrao.
ACLkCBGMUL
Por Allie em 08/12/2011 06:30:04
You're the geatrset! JMHO


Comente!*
Nome:
E-mail
Homepage
Ttulo:
Comentrio:

Cdigo:* Code

ltima Atualizao ( 21/10/2008 )
 
< Anterior   Prximo >
FUG-BR - Espalhando BSD
Dicas Rpidas:

No editor de textos vi(1), para remover os ^M de arquivos MS-DOS (Windows), use:

:g/^V^M/s//

 

 






Wallpapers
Sua Opiniao
Online:
Ns temos 16 visitantes online


Devil Store - Sua loja BSD
FreeBSD Brasil LTDA

FUG-BR: Desde 1999, espalhando BSD pelo Brasil.