você está aqui: Home  → Arquivo de Mensagens

Configurando o Nagios 3 no Debian lenny

Colaboração: Guilherme Rezende dos Santos

Data de Publicação: 10 de Agosto de 2009

Algumas partes deste artigo foram traduzidas do artigo Complete Nagios configuration and NRPE addon configuration.

Introdução

O Nagios é um serviço open source para monitoramento de rede desenvolvido para sistemas Linux e funciona na maioria dos *NIX. Ele é responsável checar a todo momento a disponibilidade dos hosts e serviços em sua rede. O monitoramento é feito através de um conjunto de Plugins responsáveis por informar ao Nagios o status dos hosts e serviços monitorados. Caso ocorra algum problema em sua rede o Nagios enviará informações alertando-o. Essas informações podem ser enviadas de diferentes formas (e-mail, mensagens instantâneas, SMS, etc).

Características

Algumas das principais características dessa ferramenta são:

  • Monitoramento de serviços de rede (SMTP, POP3, HTTP, NNTP, PING, etc.)
  • Monitoramento dos recursos utilizados pelos hosts na rede (carga do processador, utilização de disco e memória RAM, processos em execução, arquivos de log, etc.)
  • Design simples dos plugins, permite que os usuários criem seus próprios plugins.
  • Desenho da hierarquia dos hosts na rede, o Nagios permite detectar e distinguir se os hosts estão inoperantes ou inalcançáveis.
  • Envia notificações quando ocorre algum problema (via email, SMS, mensagens instantâneas).
  • Suporte para implementar monitoramento redundante de servidores.
  • Permite a execução de comandos via interface Web.
  • Sua interface permite a visualização do status da rede, notificações de problemas, arquivos de log, etc.

Instalação

A versão do Nagios utilizada nesse artigo foi a 3.0.6 e do Nagios Plugins 1.4.13

Para iniciar a instalação do Nagios, baixe-o em http://www.nagios.org/download ou você pode utilizar o wget

  # wget http://heanet.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.6.tar.gz

Para compilar os pacotes do Nagios e Nagios plugins é preciso instalar os compiladores básicos e os headers do kernel do linux.

O comando

  # apt-get install build-essential linux-headers-`uname -r`

realiza a instalação dos pacotes corretos.

O build-essential é o conjunto de pacotes e bibliotecas de compilação, ele instala o GCC, G++ e os demais integrantes do kit básico.

O pacote "linux-headers" inclui os headers do kernel, o conjunto de arquivos e ponteiros necessários para que o compilador seja capaz de gerar módulos adequados ao kernel em uso. Existem várias versões do pacote, uma para cada versão do kernel disponível nos repositórios (como em "linux-headers-2.6.26-1-686"); por isso, para facilitar, usamos o "linux-headers-`uname -r`" (o ` é o símbolo de crase) que faz com que o apt descubra sozinho qual versão deve instalar a partir do comando "uname -r". Com isso, a casa fica pronta para a instalação dos drivers.

Trecho retirado do artigo Debian Lenny, parte 2, de autoria de Carlos Morimoto.

Terminada a instalação é hora de compilar o Nagios.

Criando usuário Nagios

  # adduser nagios

O usuário nagios será o usuário que o Nagios utilizará para a execução. Automaticamente o grupo nagios será criado para esse usuário. Isso pode ser conferido com o comando

  # grep nagios /etc/passwd

Para executar comandos externos via interface web é preciso que o servidor web esteja instalado. Para instalar o Apache

  # apt-get install apache2

Durante a instalação do apache, automaticamente é criado o usuário www-data. Esse usuário, por padrão é quem executa o apache. Para identificar com qual o usuário o apache está sendo executado

  #grep "^User" /etc/apache2/apache2.conf

Para que o usuário nagios possa executar comandos através da interface web do apache devemos adicioná-lo ao grupo do apache. Para isso execute

  # usermod -G nagios nagios
  # usermod -G www-data,nagios www-data

Para conferir se o usuário foi mesmo adicionado ao grupo, execute o comando

  #grep nagios /etc/group

Iremos instalar o nágios no diretório /usr/local/. Crie dentro desse diretório uma pasta chamada nagios e copie para dentro dela os arquivos do nagios e os plugins baixados.

Extraia os arquivos do Nagios com o comando

  # tar -xvzf nagios-3.0.6.tar.gz

Acesse a pasta nagios-3.0.6/

  # cd  nagios-3.0.6

Execute o scritp

  #./configure --prefix=/usr/local/nagios --with-cgiurl=/nagios/cgi-bin --with-htmurl=/nagios/ --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagios

onde:

-prefix=/usr/local/nagios destino onde o nagios será instalado
-with-cgiurl=/nagios/cgi-bin Pasta CGI do Nagios
-with-htmurl=/nagios/ Arquivos HTML do Nagios, pasta da web interface
-with-nagios-user=nagios usuário do Nagios
-with-nagios-group=nagios grupo do Nagios
-with-command-group=nagios is the Nagios command group which has webserver user (Apache) and the nagios user as members.

Se desejar ver mais opções do que podem ser utilizadas para a compilação, digite o comando

  # ./configure --help

Em seguida compile o Nagios e os CGIs

  # make all

Instale os binários

  # make install

Instale os scripts de inicialização

  # make install-init

Crie o diretório que será utilizado para a inserção de comandos externos

  # make install commandmode

Instale o arquivo de configuração de EXEMPLO do Nagios. As configurações contidas nesse arquivo são apenas configurações básicas necessárias para executá-lo, provavelmente você precisará fazer alterações no arquivo /usr/local/nagios/etc/nagio.cfg de acordo com suas necessidades.

  #make install-config

Nesse momento o nagios já está instalado em seu computador. Agora conheceremos a estrutura dos diretórios do Nagios

  #cd /usr/local/nagios/

Você encontrará no diretório do Nagios outros seis sub-diretórios. Abaixo uma breve explicação de cada um deles

bin/ Nagios binários do Nagios
etc/ Diretório principal do Nagios, ele contém os arquivos de configuração e arquivos de configuração do CGI.
libexec/ Os plugins do Nagios são armazenados nesse diretórios
sbin/ CGIs
share/ Arquivos HTML (para interface web e documentação online)
var/ Diretório vazio utilizado para os arquivos logs

Instalando os plugins para o Nagios

Baixe-os em http://www.nagios.org/download ou utilize o wget

  # wget  http://mesh.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz

Extraia os arquivos

  # tar -xvzf nagios-plugins-1.4.13.tar.gz

Acesse o diretórios nagios-plugins-1.4.13/

  # cd nagios-plugins-1.4.13/

Compile o arquivo

  # ./configure

Em seguida instale os binários

  #make & make install

Os plugins serão instalados no diretório /usr/local/nagios/libexec. Agora temos o Nagios e os plugins instalados. Vamos então prosseguir com a configuração do Apache para que seja possível acessar o Nagios e executar comandos externos via web interface.

Existem duas formas de realizar a configuração. A primeira é criar um arquivo contendo o ScriptAlias configurações dentro do diretório /etc/apache2/sites-available/ ou inserir as configurações no arquivo httpd.conf. Será abordado nesse artigo a segunda forma.

Dentro do seu arquivo httpd.conf insira as seguintes configurações:

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

Salve o arquivo e em seguida reinicie o apache

  #/etc/init.d/apache2 restart

Para um maior segurança, o Nagios será configurado de forma que, cada usuário somente terá acesso a sua web interface caso esteja previamente cadastrado. Para isso, criaremos um arquivo de configuração contendo os usuários que terão permissão de acesso a interface do Nagios. O parâmetro "-c" do comando cria um arquivo htpasswd.users e insere o usuário guilherme .

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

Será solicitado que seja criado uma senha para o usuário. Caso queira inserir novos usuários, retire o parâmetro -c do comando e ao final entre com o nome do novo usuário

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

Para finalizar edite o arquivo /usr/local/nagios/etc/cgi.cfg. Este arquivo contém as configurações do cgi utilizadas pelo Nagios. Configure os parâmetros abaixo para os usuários que você cadastrou no arquivo /usr/local/nagios/etc/htpasswd.users para que possam acessar o sistema. No meu caso ficou da seguinte forma:

  authorized_for_system_information=guilherme
  authorized_for_configuration_information=guilherme
  authorized_for_system_commands= guilherme
  authorized_for_all_services=guilherme
  authorized_for_all_hosts=guilherme
  authorized_for_all_service_commands=guilherme
  authorized_for_all_host_commands=guilherme

Em seguida, reinicie o Nagios. Para acessá-lo digite no seu browser

  http://<IPADDRESS OR HOSTNAME>/nagios/

Após a validação de usuário e senha você terá acesso ao Nagios. Agora é preciso configurar os arquivos de configuração do Nagios. Este assunto será abordado no próximo artigo. Espero ter tenha ajudado. That's all folks! :D



Veja a relação completa dos artigos de Guilherme Rezende dos Santos

 

 

Opinião dos Leitores

O Autor
28 Set 2010, 14:25
Olá pessoal, obrigado a todos pelos comentários.

Escrevi este tutorial logo que saiu a versão 3 do Nagios. As configurações aqui descritas funcionavam perfeitamente nesta versão quando compilada a partir do fonte. A partir da versão 3.0.2 do Nagios algumas coisas mudaram, pelo menos na instalação via apt-get. Vou atualizar esse tutorial e logo, logo postarei um novo com as correções.

Guilherme.
Renato Souza
31 Ago 2010, 19:38
Pessoal, segue um tutorial que conseguir fazer a instalação, http://www.vivaolinux.com.br/artigo/Manual-completo-de-instalacao-e-configuracao-do-Nagios-3-no-Linux-Debian-4.0-Etch

Abraços, gosto muito do Dicas-L.

Renato Souza
Carlos Cezar
31 Ago 2010, 09:44
Otimo tutorial, mas faltou duas coisas importantes:

* criar arquivo /var/nagios/rw/nagios.cmd , com permissao para usuario nagios

*criar o arquivo /usr/local/nagios/sbin/.htaccess contendo:

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

*configurar a senha do usuario que vc configurou para acessar o nagios:

htpasswd -c /usr/local/nagios/etc/htpasswd.users usuario
New password: ******
Re-type new password: ******
Adding password for user usuario
Renato Souza
25 Ago 2010, 00:18
Boa noite.
1º Muito obrigado pelo tutorial, muito bom mesmo.
Eu estou começando a estudar sobre monitoramento.
Segui todo o tutorial porém nao obtive resultado, quando vo acessar a pagina web do nagios, da o erro 404, pagina nao existi, alguem sabe pq?

Obrigado.
Flavio Menezes dos Reis
02 Ago 2010, 11:46
Guilherme, bom dia!

Primeiramente gostaria de parabenizar e agradecer por tão valioso artigo. Foi de muita utilidade para mim.

Em seguida colaborar, pois estou utilizando Debian Testing (Squeeze) e este trecho do artigo ficaria melhor se corrigido:

"Existem duas formas de realizar a configuração. A primeira é criar um arquivo contendo o ScriptAlias configurações dentro do diretório /etc/apache2/sites-available/ ou inserir as configurações no arquivo httpd.conf. Será abordado nesse artigo a segunda forma. "

Na verdade não é mais necessário que se copie nada, pois a própria instalação do nagios já faz o link do arquivo apache2.conf em /etc/nagios3 para /etc/apache2/conf.d/nagios3.conf, facilitando muito a vida.

Digo isto porque "perdi" vários minutos tentando achar onde colocar estas configurações quando percebi que já estava tudo pronto.

Mais uma vez obrigado.
Anderson Faria
30 Jul 2010, 17:22
não conseguir iniciar o nagios depois do tutorial!!!
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script