Visite também: Br-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]
Voltar   Under-Linux.org Fóruns > UnderLinux Wiki
Wiki Classificados Galeria Reviews Jogos Comunidades RSS Feeds FAQ Termos de Uso Sobre
Cadastre-se FotosBlogs Lista de Membros Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Ferramentas pessoais
Publicidade

From UnderLinux Wiki

Tabela de conteúdo

Nagios - Configuração básica

NAGIOS é uma poderosa ferramenta Open Source para monitorar a Rede. Com ele é possível monitorar Micros, Switchs, Impressoras e tudo mais o que estiver ligado na rede. Ele verifica constantemente toda a disponibilidade dos equipamentos configurados. O Nagios pode ser configurado para mandar diversos tipos de avisos para os usuários cadastrados, sendo assim uma mão na roda para administradores de rede. # Programas necessários. - Nagios. - Plugins do Nagios. - Apache.

Instalando os programas

Instalar o Apache.

- Descompactar o tar.gz

tar xzvf httpd-2.0.49.tar.gz

- Compilar e instalar o Apache.

./configure
make
make install

Instalar o Nagios

- Obtenha o source do Nagios em http://www.nagios.org/downloads

- Descompactar o tar.gz

tar xzvf nagios-1.2.tar.gz

- Criar um diretório para o Nagios

mkdir -p /usr/local/nagios

- Criar um grupo para o Nagios

groupadd nagios

- Criar um usuário para o Nagios

adduser -g nagios -d /usr/local/nagios -s /bin/false nagios

DICA: Antes de compilar o Nagios, verifique se a biblioteca gd-lib está instalada no seu Linux, pois caso contrário não será possível ver o StatusMap, que é o Mapa da Rede. No debian use apt-get install libgd-dev.

- Compilação básica do Nagios sem suporte para Banco de Dados.

./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-grp=nagios --with-cgiurl=/nagios/cgi-bin --with-htmurl=/nagios

Significados:

--prefix=/usr/local/nagios : Onde vão ser criados os arquivos de configuração.

--with-nagios-user=nagios : Usuário padrão

--with-nagios-grp=nagios : Grupo padrão

--with-cgiurl=/nagios/cgi-bin : Diretório onde estão os arquivos CGI.

--with-htmurl=/nagios : Diretório onde estão os arquivos Html.

Feito o configure continue..

make all

Se tudo estiver certo.

make install.

Faça ainda mais esses três comandos.

make install-ini (Ele vai criar o scritp de inicialização.)
make install-commandmode ( Para configurar as permissões de pasta para aplicativos externos)
make install-config ( Modelo de arquivo de configuração será criado em /usr/local/nagios/etc)

Instalar os Plugins do Nagios

- Descompactar o Tar.gz

tar xzvf nagios-plugins-1.3.1.tar.gz

- Compilar os Plugins.

./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-grp=nagios
make all
make install
  1. Configurar o Apache.(Com autenticação para acesso ao Nagios).

- Editar o arquivo httpd.conf ( que nessa instalação vai estar em /usr/local/apache2/conf/) e adicionar as linhas.

ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin/
AllowOverride AuthConfig
Options Exec CGI
Order allow,deny
Allow from all
Alias /nagios /usr/local/nagios/share/
Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all
AuthName "Acesso Nagios"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
require valid-user

- Criar o arquivo htpasswd.users que vai conter os nomes e as senhas dos usuários que vão ter acesso ao Nagios.

htpasswd -c /usr/local/nagios/etc/htpasswd.users nome_do_usuario
chown www-data.www-data /usr/local/nagios/etc/htpasswd.users (Verificar o usuário do apache, no meu caso é www-data)

Observação.: A opção -c no comando htpasswd só deve ser usada na primeira vez para o arquivo ser criado, nas próximas vezes não é necessários usar com o -c.

Configurar o Nagios

Os arquivos de configuração estão dentro do diretório /usr/local/nagios/etc/ Todos os arquivos vem com o .sample na frente, que são exemplos, pode-se tirar os .sample dos arquivos e configura-los ou fazer uma cópia deles, que é o mais aconselhável. Mas para funcionarem não podem continuar com o .sample na frente.

- Descrição dos arquivos de configuração. nagios.cfg : arquivo de configuração principal do Nagios, responsável por iniciar os serviços de monitoramento. cgi.cfg : arquivo de configuração dos programas CGIs localizados na pasta sbin. hosts.cfg : arquivo contendo informações dos hosts. hostgroups.cfg : arquivo contendo informações dos hosts por grupos. contacts.cfg : contatos que deverão ser notificados caso ocorra algum problema. contactgroups.cfg : contatos divididos em grupos. service.cfg : serviços que deverão ser monitorados hostextinfo.cfg: onde serão definidos as imagens que serão apresentadas no statusmap. dependencies.cgf : informações de serviços que dependem de outros serviços. timeperiods.cfg : Informações sobre o período de monitoramento, podem ser definidos vários períodos de monitoramento diferentes. checkcommands.cfg : definição dos comandos que podem ser executados pelo Nagios. resource.cfg : macros definidas pelos usuários.

- Configurando os arquivos.

1 - Nagios.cfg Não é necessários mudar nada para essa configuração.

2 - cgi.cfg Existem duas possibilidades de configuração desse arquivo, com ou sem autenticação.

Sem autenticação: use_authentication = 0

Observação.: No browser ele ainda vai pedir a senha do usuário cadastrado no htpasswd.users pois isso é definido na configuração do Apache, mas ela não vai restringis o acesso nas funcionalidades do Nagios.

Com autenticação: use_authentication = 1

Nesse caso configure as seguintes opções também: authorized_for_system_information=usuario1, usuario2 authorized_for_configuration_information=usuario1, usuario2 authorized_for_system_commands= usuario1, usuario2 authorized_for_all_services=usuario1, usuario2 authorized_for_all_hosts=usuario1, usuario2 authorized_for_all_service_commands=usuario1, usuario2 authorized_for_all_host_commands=usuario1, usuario2

3 - hosts.cfg

Exemplo.

# Micro 1
define host{
use generic-host
host_name micro1
alias Micro 1
address 192.168.0.1
check_command check-host-alive
* parents firewall
max_check_attemps 10
notification_interval 120
notification_period 24x7
notification_options d,u,r
}
  • host_name: é o nome do computador na rede.
  • alias: é uma apelido amigável para o computador.
  • address: é o endereço IP da máquina.
  • check_command: é o comando a ser executado, está definido em checkcommand.cfg.
  • max_ckeck_attempts: é o número máximo de vezes que o programa irá checar pelo serviço até reportar um erro.
  • notification_interval: de quantos em quantos será enviado uma notificação para o usuário responsável pelo serviço.
  • notification_period: qual o horário que o serviço ficará ativo.
  • notification_options: quando notificar um erro, d-down, u-unrecheable,r-recovery.

Obs.: A opção parents é utilizada caso uma máquina seja ligada a outra, com um switch, temos uma máquina firewall e as outras máquinas acessam a internet através dela, então os outros hosts vão ser parents dessa máquina firewall, fica mais organizado.

4 - hostgroups.cfg

Exemplo.

#Servidores
define hostgroup{
hostgroup_name servidores
alias Servidores Linux
contact_groups administrador
members micro1
}

Na opção members, o micro1, deverá existir no arquivo de configuração hosts.cfg Na opção contact_groups, administrador deverá existir no arquivo de configuração contactgroups.cfg

5 - contacts.cfg

Exemplo.

# Cesar
define contact{
contact_name cesar
alias Cesar Domingos
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 cesar@e-mail.com.br
}

6 - contactgroups.cfg

Exemplo.

# Administrador
define contactgroup{
contactgroup_name administrador
alias Administrador da Rede
members cesar
}

7 - services.cfg

# Service definition
define service{
use generic-service ; Name of service template to use

host_name micro1
service_description PING
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups administrador
notification_interval 120
notification_period 24x7
notification_options c,r
check_command check_ping!100.0,20%!500.0,60%
}

8 - hostextinfo.cfg

O diretório padrão das imagens é /usr/local/nagios/share/images/logos/ Para funcionar é preciso adiconar uma linha no arquivo cgi.cfg xedtemplate_config_file=/usr/local/nagios/etc/hostextinfo.cfg

Existe outro arquivo que é o serviceextinfo.cfg que coloca imagens para os serviços, de uma olhada no arquivo de configuração ele é muito simples.

Exemplo do hostextinfo.cfg

# Servidor de Boot
define hostextinfo{
name micro1

icon_image linux40.png
icon_image_alt Estação 1
vrml_image linux40.png
gd2_image linux40.gd2
register 0
}

define hostextinfo{
use micro1
host_name Micro1
2d_coords 65,425
3d_coords 3.0,0.0,0.0
}

Esses são os arquivos que são legais de colocar alguns exemplos, os outros é só verificar o próprio arquivo, sendo que todos eles tem bons exemplos.

- Verificando configuração.

Para verificar se a configuração está correta use o seguinte comando:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Com esse comando é possível verificar o erros e os warnings, e ver em qual arquivo está o erro. O Nagios não vai iniciar se existir algum erro.

- Iniciando o Nagios. Se tudo foi certo no passo anterior, o Nagios pode ser iniciado de duas maneiras.

1 - /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

ou

2 - /etc/init.d/nagios start

Dica: Verifique com atenção se o apache está funcionando, se todos os arquivos de configuração e todas as permissões para o usuário e grupo nagios.

- Acessando o Nagios.

Para acessar o nagios é simples, abra o browser e digite http://nome_ou_IP_maquina_apache/nagios Coloque o usuário e senha que foi cadastrado no htpasswd.users.

Boa Sorte.

Cesar A. Domingos cesar.domingos@uol.com.br

Horários baseados na GMT -3. Agora são 8:01.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.