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

Instalando e Configurando Nagios com e sem MySQL

Tabela de conteúdo

Introdução

O Nagios e uma poderosa ferramenta de adminstração podendo até dizer de manutenção da rede, visto que ele monitora em real-time os hosts de rede. Mantendo nós administradores sempre informados da "saúde" da rede, por meio de alertas SMS, emails e até por mensagens via telefone (isso mesmo o nagios liga informando que há algum problema na rede) nesse artigo abordarei a instalção e configuração do nagios com e sem o mysql. O uso do mysql nos da uma boa alternativa para guardar os logs, uma vez que da maneira convencional os logs sao armazenados em arquivos de texto. Esse artigo foi testado nas distro Debian e Slackware.

Instalando Nagios sem MySQL

Obtendo o nagios

Essa é a ultima versão do nagios.


Preparando a Instalação

Antes de começarmos a instalar temos que criar por questões de segurança um usuários para o nágios

# groupadd nagios
# adduser nagios -s /bin/false -d /bin/false

Descompactando o Arquivo

Devo resaltar que o proceimento abaixo é um padrão em todas as minhas compilações, ficando a caráter de cada usário a melhor forma para executar essa parte do processo

# cd /usr/src
# tar -zxvf nagios-2.5.tar.gz
#cd nagios-2.5
/usr/src/nagios-2.5# ./configure

Se esse processo ocorrer sem demais problemas, você receberá as seguintes informações:

Creating sample config files in sample-config/ ...
*** Configuration summary for nagios 2.0 02-07-2006 ***:
General Options:

-------------------------

Nagios executable: nagios
Nagios user/group: nagios,nagios
Command user/group: nagios,nagios
Embedded Perl: no
Event Broker: yes
Install ${prefix}: /usr/local/nagios
Lock file: ${prefix}/var/nagios.lock
Init directory: /etc/rc.d/init.d
Host OS: linux-gnu
Web Interface Options:

------------------------

HTML URL: http://localhost/nagios/
CGI URL: http://localhost/nagios/cgi-bin/
Traceroute (used by WAP): /usr/bin/traceroute
Review the options above for accuracy. If they look okay,
type 'make all' to compile the main program and CGIs.

Compilando o Nagios

A compilação do Nagios é bem simples

/usr/src/nagios-2.0#make all
/usr/src/nagios-2.0# make install

Após terminada a compilação voce receberá uma mensagem parecida como:

*** Support Notes *******************************************

If you have questions about configuring or running Nagios,
please make sure that you:
- Look at the sample config files
- Read the HTML documentation
- Read the FAQs online at http://www.nagios.org/faqs
before you post a question to one of the mailing lists.
Also make sure to include pertinent information that could
help others help you. This might include:
- What version of Nagios you are using
- What version of the plugins you are using
- Relevant snippets from your config files
- Relevant error messages from the Nagios log file
For those of you who are interested in contract support or
consulting services for Nagios, please visit:

http://www.nagios.org/contractsupport

*************************************************************

Enjoy.

Caso nao apresente nenhuma mensagem de erro ate esse ponto, significa que a instalação esta correndo sem problema.

Após esse processo o nágios estará pronto para funcionar, fica faltando apenas instalar os scripts de configuração:

/usr/src/nagios-2.0# make install-init # Instalar os script de inicialização do nagios.
/usr/src/nagios-2.0# make install-commandmode # Configurar as permissões de pasta para aplicativos externos.
/usr/src/nagios-2.0# make install-config # instala os arquivso de configuração do nagios (.cfg's)

Um modelo de arquivo de configuração será instalado em /usr/local/nagios/etc. Agora vá em /usr/local/nagios/etc e renomeie todos os arquivos que se encontrarem la dentro para .cfg

Exemplo: cgi.cfg-sample --> cgi.cfg

Instalando os plugins do nagios: Agora terminada a instalação e configuração vamos instalar os plugins do nagios, os plugins são responsáveis pela execução de um comando de monitoramento. Podemos baixar os plugins no nagios np seguinte endereço:

#cd /usr/src
/usr/src# tar -zxvf nagios-plugins-1.4.3.tar.gz
#cd /usr/src/nagios-plugins-1.4.3
/usr/src/nagios-plugins-1.4.3#./configure
/usr/src/nagios-plugins-1.3.1#make
/usr/src/nagios-plugins-1.3.1#make install


Instalando Nagios com MySQL

# aptitude install nagios-mysql nagios-plugins

Agora vamos copiar o arquivo check_nagios_db para a a pasta do nagios /etc/nagios

#cp /usr/share/doc/nagios-mysql/check_nagios_db /etc/nagios

Em seguida vamos da ao arquivo permissão de execução:

chmod +x /etc/nagios/check_nagios_db

Vamos agora criar a o banco de dados no mysql, importar as tablas e dar ao banco permissão de acesso. Criando banco de dado:

mysqladmin create nagios

Importando tabelas para o banco de dados:

1º Copie o arquivo para a pasta opt
#cp /usr/share/doc/nagios-mysql/create_mysql.gz /opt/
2° Descompacte o arquivo create_mysql.gz
#gzip -d create_mysql.gz
3° Importando tabelas para o Danco de Dados:
mysql nagios < create_mysql

Definindo permissão de acesso e senha do Banco de Dados Primeiramente vamos acessar o nosso Banco de Dados:

#mysql -u root -p nagios # caso tenha acabado de instalar o mysql o padrão dele e sem senha, ou seja quando o bando pedir senha é só apertar ENTER.

Veremos então o prompt do mysql: mysql> Agora digite os seguintes comandos:

GRANT SELECT, INSERT, UPDATE, DELETE ON nagios.* TO nagios@localhost IDENTIFIED BY 'password';
GRANT LOCK TABLES ON nagios.* TO nagios@localhost IDENTIFIED BY 'password';

Onde deve- se substituir o 'password' pela senha desejada Agora vamos fazer o nagios conversar com o base de dados do mysql, poara isso editaremos o arquivo resource.cfg que se encontra na pasta /etc/nagios/ basta clicar aqui e baixar um modelo do arquivo. Temos também que editar o arquivo cgi.cfg clique aqui para baixar um modelo.

Configurando o Apache

Para configurarmos o nagios para acesso web basta criarmos um arquivo na pasta:

#vi /etc/apache2/sites-availiable/nagios

Com o seguinte contúdo:

#NameVirtualHost ip_local:80

# Definindo diretório dos CGI's no Nagios
# ---------------------------------------
ScriptAlias /cgi-bin/nagios /usr/lib/cgi-bin/nagios
ScriptAlias /nagios/cgi-bin /usr/lib/cgi-bin/nagios

Options ExecCGI

AllowOverride AuthConfig
Order Allow,Deny
Allow From All

AuthName "Nagios Access"
AuthType Basic
AuthUserFile /etc/nagios/htpasswd.users
require valid-user


# Definindo diretório so arquivos de imagem do nagios
# -----------------------------------------
Alias /nagios/stylesheets /etc/nagios/stylesheets

# Exibe os Hosts de em grupos
# ----------------------------------------
ScriptAlias /nagios/side.html /usr/lib/cgi-bin/nagios/grouplist.cgi

# Define onde estao os arquivos html do Nagios
# -----------------------------------------
Alias /netsaint /usr/share/nagios/htdocs
Alias /nagios /usr/share/nagios/htdocs

Options FollowSymLinks

AllowOverride AuthConfig
Order Allow,Deny
Allow From All

AuthName "Nagios Access"
AuthType Basic
AuthUserFile /etc/nagios/htpasswd.users
require valid-user

#Criando logs de acesso do nagios
ErrorLog /var/log/apache2/error_nagios.log
CustomLog /var/log/apache2/access_nagios.log combined
# END FOR NAGIOS

Para baixa-lo clique aqui

Configurando o Nagios

Agora temos que configuarar o nagios, como ja dito anteriormente o nagios funciona com vários arquivos de configuração um dependendo do outro pra funcionar, os arquivos mais importantes sao:

Observação: Essa parte do artigo serve tanto para o Debian quando Slackware

cgi.cfg --> arquivo de configuração dos scripts de execução do nagios, edite-o com seu editor de texto favorito va em:

use_authentication=1 # Quando essa opção esta como 0 desativa o pedido de login e senha, vamos deixa-la como default.
host.cfg --> coleta informações sobre os dispositivos de rede (computador, switch, impressora, roteador)

Exemplo:

# Default gateway host definition
define host{
use generic-host ; Name of host template to use

host_name gw # Nome do host a ser monitorado
alias Default Gateway # "Apelido" do host a ser monitorado
address 192.168.1.1 # Ip do host a ser monitorado
check_command check-host-alive # Forma de checagem do host
max_check_attempts 20 # Número máximo de vezes que o programa irá checar pelo serviço até reportar um erro.
notification_interval 60 # Intervalo de tempo que será enviaod uma notificação ao adminstrador do serviço.
notification_period 24x7 # Perído de Notificação
notification_options d,u,r # Tipo de Notificação (d = down, u = up e r = recovery)
}

hostgrup.cfg --> coleta informações de grupos de equipamentos (computadores, switch, impressoras) existentes em sua rede.

Exemplo:

# Default gateway host group definition
define hostgroup{
hostgroup_name gateways # Nome co Grupo
alias Routers and Gateways # Apelido para o grupo
contact_groups router-admins # Contatos para receber as informações do grupo
members gw # Membros pertencentes ao grupo, para adicionar mais membros é so separa-los por (,) vírgula
}

É importante salientar que: gateways terá que existir no arquivo de configuração hosts.cfg e router-admins terá que existir no arquivo de configuração contactgroups.cfg. contacts.cfg --> determina quem vai ser avisado caso haja algum problema com na rede.

# 'nagios' contact definition
define contact{
contact_name nagios
alias Nagios Admin
service_notification_period 24x7
host_notification_period 24x7 #define o perído de monitoramento do serviço/host, 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-by-email,notify-by-epager
host_notification_commands host-notify-by-email,host-notify-by-epager
email nagios-admin@localhost
pager pagenagios-admin@localhost
}

contactgroup.cfg --> Os contatos divididos em grupos.

Exemplo:

# 'router-admins' contact group definition
define contactgroup{
contactgroup_name router-admins
alias Router Technicians
members nagios
}

service.cfg --> determina qual tipo de serviço será monitorado na maquina.

Checkcommands.cfg --> configura os pluguin.

O nagios.cfg --> arquivo de configuração principal do nagios, nele se encontra todas as configurações básicas do mesmo.

Verificando erros na configuração do nagios:

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

Onde: /usr/local/nagios/bin/nagios --> caminho do binário do nágios -v --> parametro usado na verificação da configuração do nagios (mostra se exite algum erro) /usr/local/nagios/etc/nagios.cfg --> caminho do arquivo de configuração do nagios Se estiver usando Debian Se o resultado do comando acima for:

root@ferrari:/etc/nagios# nagios -v nagios.cfg

Nagios 2.5
Copyright (c) 1999-2003 Ethan Galstad (nagios@nagios.org)
Last Modified: 06-02-2003
License: GPL
Reading configuration data...
Running pre-flight check on configuration data...
Checking services...
Checked 16 services.
Checking hosts...
Checked 3 hosts.
Checking host groups...
Checked 3 host groups.
Checking contacts...
Checked 2 contacts.
Checking contact groups...
Checked 1 contact groups.
Checking service escalations...
Checked 0 service escalations.
Checking host group escalations...
Checked 0 host group escalations.
Checking service dependencies...
Checked 0 service dependencies.
Checking host escalations...
Checked 0 host escalations.
Checking host dependencies...
Checked 0 host dependencies.
Checking commands...
Checked 24 commands.
Checking time periods...
Checked 4 time periods.
Checking for circular paths between hosts...
Checking for circular service execution dependencies...
Checking global event handlers...
Checking obsessive compulsive service processor command...
Checking misc settings...
Total Warnings: 0
Total Errors: 0

Lembre-se que os “checking” variam de sistema pra sistema o principal a ser verificado são o total de erros e o de warning. Levantando o nagios:

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

Onde:

  • /usr/local/nagios/bin/nagios --> caminho do binário do nágios
  • -c --> faz o nagios ler o seu arquivo de configuração
  • /usr/local/nagios/etc/nagios.cfg --> caminho do arquivo de configuração do nagios
  • -d ---> faz o nagios funcionar como daemon

Autor

  • Leandro Moreira - (leandro@leandromoreira.eti.br)
Horários baseados na GMT -3. Agora são 7:24.


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