Tag: nagios

Problema com o Nagios: Could not read object configuration data!

Se você abriu seu "painel de controle" do Nagios e deu de cara com esse problema (Could not read object configuration data!) em algumas páginas, esse post pode lhe ajudar.

A mensagem completa é essa:

Whoops!

Error: Could not read object configuration data!

Here are some things you should check in order to resolve this error:

  1. Verify configuration options using the -v command-line option to check for errors.
  2. Check the Nagios log file for messages relating to startup or status data errors.

Make sure you read the documentation on installing, configuring and running Nagios thoroughly before continuing. If all else fails, try sending a message to one of the mailing lists. More information can be found at http://www.nagios.org.

Resolvendo o problema

Existem algumas soluções prováveis para o problema, vou listar uma por uma. A forma de parar o Nagios o Apache pode variar de distribuição para distribuição e também da forma você instalou o Nagios.

Recomendo que você pare e inicie o Apache e o Nagios antes de tentar qualquer uma das soluções propostas abaixo.

No meu caso, que utilizo Centos 6, para parar e iniciar novamente o Nagios e o Apache executo os comandos:

service nagios stop
service httpd stop
service httpd start
service nagios start

O diretório padrão do Nagios também pode mudar. No meu caso é o /usr/local/nagios/

Você também pode parar e iniciar o nagios pelo executável:

/etc/init.d/nagios stop
/etc/init.d/nagios start

Há ainda uma terceira forma de iniciar o Nagios:

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

Você pode verificar se o nagios está rodando com o comando ps -ef | grep nagios que deve retonar uma mensagem similar a essa:

nagios 3830 0.2 0.2 4668 1140 ? Ssl 11:35 0:00 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

Se precisar forçar o encerramento do Nagios, execute o comando:

killall nagios

Depois de que você parar e iniciar o Apache e o Nagios, teste as opções abaixo:

  1. Verifique seu arquivo de configuração com o comando:
    /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

    O resutado final tem que ser esse:

    Total Warnings: 0
    Total Errors:   0
    

    Se retornar algum erro (Error) ou aviso (Warning), corrija seu arquivo de configuração (/usr/local/nagios/etc/nagios.cfg) e posteriormente pare o Nagios, o Apache, depois inicie o Apache e Nagios.

  2. Verifique se o disco da máquina não está cheio com o comando df -h. Se estiver, libere espaço em disco. Depois pare o Nagios, o Apache, inicie o Apache e Nagios.
  3. Altere as permissões dos arquivos da pasta do nagios para nagios:nagios e adicione o usuário nagios ao grupo apache:
    chown -R nagios:nagios /usr/local/nagios/
    usermod -G nagios apache

    Não se esqueça de parar o Nagios, o Apache, depois iniciar o Apache e o Nagios.

Você provavelmente já terá corrigido o problema com uma das soluções acima. Se não conseguiu, verifique se o log do Nagios tem alguma coisa que possa lhe ajudar:

tail -f /usr/local/nagios/var/nagios.log

Encontrou uma solução diferente? Adicione nos comentários! 🙂

Mais informações:


Monitorando servidores remotos com o Nagios NRPE no Linux Centos 6

Há algum tempo atrás, escrevi um artigo sobre como instalar o Nagios em um servidor Linux Centos 5, e posteriormente atualizei para que funcionasse também no Centos 6 Minimal.

No artigo que escrevi, mostro como o Nagios pode monitorar a própria máquina, e agora irei mostrar como monitorar outras máquinas com o NRPE (Nagios Remote Plugin Executor).

Se você nunca instalou o Nagios, é importante que instale seguindo as instruções do artigo.

Para o exemplo, irei considerar duas máquinas:

  • Servidor – Servidor de monitoramento, com IP: 192.168.0.247
  • Cliente – Cliente que será monitorado, com IP: 192.168.0.248

O procedimento deve ser executado em uma máquina com instalação limpa do Centos 6 Minimal para que funcione corretamente. É importante que antes de testar em uma máquina de produção, você simule em máquinas virtuais.

As duas máquinas deverão estar com acesso à internet e com a rede local configurada.

Atenção! O Servidor já deverá estar como Nagios instalado. Se você ainda não fez isso, siga as instruções do artigo citado acima!

Execute os passos abaixo para instalar o NRPE no cliente (que será monitorado).

Obs.: Se os códigos abaixo aparecerem sem o destaque, acesse o link direto do artigo aqui.

Todos os comandos abaixo devem ser executados como root. Antes de começar, adquira permissões de root e atualize o sistema:

su -l
yum update

1. Pré-requisitos

yum install openssl-devel xinetd make gcc perl

2. Dados para acesso

useradd nagios
passwd nagios

3. Baixe os plugins e o NRPE

Baixe os arquivos para instalação do NRPE e dos Plugins (visite http://www.nagios.org/download/ para a última versão). Esse passo-a-passo foi testado com o NRPE 2.12 e Nagios Plugins 1.4.11.

mkdir ~/downloads
cd ~/downloads
wget http://ufpr.dl.sourceforge.net/project/nagiosplug/nagiosplug/1.4.11/nagios-plugins-1.4.11.tar.gz
wget http://ufpr.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz

4. Instale os plugins

tar xzf nagios-plugins-1.4.11.tar.gz
cd nagios-plugins-1.4.11
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec

5. Instale o NRPE

cd ~/downloads
tar xzf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure 
make all
make install-plugin
make install-daemon
make install-daemon-config
make install-xinetd

6. Configurações adicionais do NRPE

Adicione o serviço do NRPE no arquivo /etc/services. Por algum motivo que desconheço, quando copio e colo a linha a ser adicionada, eu tenho um problema (mais adiante) ao configurar a máquina servidor para se conectar com o cliente. Retorna uma mensagem como essa: CHECK_NRPE: Error – Could not complete SSL handshake. Então recomendo que você não copie e cole a linha abaixo, e sim digite ela no arquivo /etc/services (vi /etc/services):

nrpe      5666/tcp     #NRPE

Adicione o xinetd para iniciar quando a máquina ligar, e reinicie o xinetd

chkconfig xinetd on
service xinetd restart

Verifique se o NRPE está ouvindo na porta 5666

netstat -at |grep nrpe

A saída deve ser algo como:

tcp    0    0 *:nrpe    *.*    LISTEN

Verifique se o NRPE está funcionando:

/usr/local/nagios/libexec/check_nrpe -H localhost

A saída deve ser algo como:

NRPE v2.12

Agora que verificamos que o NRPE está funcionando, abra o arquivo /etc/xinetd.d/nrpe e na linha "only_from", troque o IP 127.0.0.1 pelo IP do servidor de monitoramento. No nosso caso:

only_from       = 192.168.0.247

Abra a porta 5666 no Firewall:

/sbin/iptables -I INPUT -p tcp --dport 5666 -j ACCEPT
/etc/init.d/iptables save
/etc/init.d/iptables restart

Agora execute os passos abaixo para instalar o NRPE no servidor (máquina que irá monitorar as outras)

7. Instale os pré-requisitos

yum -y install openssl-devel

8. Baixe o NRPE

Baixe os arquivos para instalação do NRPE (visite http://www.nagios.org/download/ para a última versão). Esse passo-a-passo foi testado com o NRPE 2.12.

cd ~/downloads
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz

9. Instale o NRPE

tar xzf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure 
make all
make install-plugin

10. Testando a conexão com o cliente. Lembre-se de trocar pelo IP correto

/usr/local/nagios/libexec/check_nrpe -H 192.168.0.248

Se você receber o erro CHECK_NRPE: Error – Could not complete SSL handshake, veja novamente o passo 6.

Deverá retornar algo como:

NRPE v2.12

11. Crie a definição de comando do NRPE

Adicione ao arquivo /usr/local/nagios/etc/objects/commands.cfg (vi /usr/local/nagios/etc/objects/commands.cfg):

###############################################################################
# NRPE CHECK COMMAND
#
# Command to use NRPE to check remote host systems
###############################################################################

define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }

12. Crie um template

Adicione ao arquivo /usr/local/nagios/etc/objects/linux-box-remote.cfg (vi /usr/local/nagios/etc/objects/linux-box-remote.cfg):

define host{
          name                  linux-box-remote 		; Name of this template
          use                   generic-host			; Inherit default values
          check_period          24x7
          check_interval        5
          retry_interval        1
          max_check_attempts    10
          check_command         check-host-alive
          notification_period   24x7
          notification_interval 30
          notification_options  d,r
          contact_groups        admins
          register              0 						; DONT REGISTER THIS - ITS A TEMPLATE	
          }

define host{
          use       linux-box-remote; 
          host_name cliente			; Nome do servidor (curto)
          alias     cliente			; Nome do servidor (pode ser maior)
          address   192.168.0.248   ; IP do cliente
          }

define service{
          use                 generic-service
          host_name           cliente
          service_description CPU Load
          check_command       check_nrpe!check_load
          }
define service{
          use                 generic-service
          host_name           cliente
          service_description Current Users
          check_command       check_nrpe!check_users
          }
define service{
          use                 generic-service
          host_name           cliente
          service_description /dev/hda1 Free Space
          check_command       check_nrpe!check_hda1
          }
define service{
          use                 generic-service
          host_name           cliente
          service_description Total Processes
          check_command       check_nrpe!check_total_procs
          }
define service{
          use                 generic-service
          host_name           cliente
          service_description Zombie Processes
          check_command       check_nrpe!check_zombie_procs
          }

13. Ative o template linux-box-remote.cfg.

Abra o arquivo /usr/local/nagios/etc/nagios.cfg (vi /usr/local/nagios/etc/nagios.cfg) e adicione:

#Definicoes para monitoramento de máquina linux remota
cfg_file=/usr/local/nagios/etc/objects/linux-box-remote.cfg

14. Verifique se as configurações estão corretas

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

Deverá retornar algo como:

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

15. Reinicie os serviços e acesse o nagios

service httpd restart
service nagios restart

Agora é só acessar o servidor: 192.168.0.247/nagios e logar com o usuário nagiosadmin (e a senha que você definiu

Pronto! Agora você já pode monitorar suas máquinas remotas com o Nagios! Dúvidas? Use os comentários!

Fonte: http://www.kernelhardware.org/nagios-nrpe-to-monitor-remote-linux-server/


Instalando o Nagios no Linux CentOS 5 ou CentOS 6

O Nagios, como talvez você já saiba, é um software para monitoramento de servidores. Não é o objetivo desse artigo explicar o que o Nagios faz, mas sim, como instalar rapidamente no CentOS. Inicialmente o procedimento foi executado no CentOS 5, mas foi atualizado para ser instalado tanto no Centos 5, quanto no CentOS 6.

Recomendo que utilize uma nova instalação (e de preferência que teste primeiro uma máquina virtual), e com acesso à internet.

Todos os comandos abaixo devem ser executados como root. Antes de começar, adquira permissões de root e atualize o sistema:

su -l
yum update

1. Pré-requisitos

Instale os seguintes pacotes:

yum install httpd php
yum install gcc glibc glibc-common
yum install gd gd-devel

Se você estiver instalando no CentOS 6 Minimal, instale também os seguintes pacotes:

yum install perl make

2. Dados para acesso

Crie o usuário nagios e defina a senha:

/usr/sbin/useradd -m nagios
passwd nagios

Crie o grupo nagcmd para permitir comandos externos, enviados pela interface web. Os usuários nagios e apache devem fazer parte desse grupo:

/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios
/usr/sbin/usermod -a -G nagcmd apache

3. Baixe o Nagios e os Plugins

Crie um diretório para armezenar os arquivos temporariamente:

mkdir ~/downloads
cd ~/downloads

Baixe os arquivos para instalação do Nagios e dos Plugins (visite http://www.nagios.org/download/ para a última versão). Esse passo-a-passo foi testado com o Nagios 3.1.1 e Nagios Plugins 1.4.11.

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz
wget http://nagios-plugins.org/download/nagios-plugins-1.4.11.tar.gz

4. Compile e instale o Nagios

cd ~/downloads
tar xzf nagios-3.2.3.tar.gz
cd nagios-3.2.3

Execute os comandos abaixo para compilar e instalar o Nagios:

./configure --with-command-group=nagcmd
make all
make install
make install-init
make install-config
make install-commandmode

5. Configure o Nagios

Um arquivo de configuração de exemplo está no diretório /usr/local/nagios/etc

Edite o arquivo /usr/local/nagios/etc/objects/contacts.cfg e altere o e-mail associado para que você possa receber alertas:

vi /usr/local/nagios/etc/objects/contacts.cfg

6. Configure a interface web

make install-webconf

Crie o usuário nagiosadmin e digite a senha duas vezes. Não esqueça essa senha, pois ela será necessária para o acesso pela interface web:

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

Reinicie o Apache:

service httpd restart

7. Compile e instale os Plugins

cd ~/downloads
tar xzf nagios-plugins-1.4.11.tar.gz
cd nagios-plugins-1.4.11
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install

8. Inicie o Nagios

Configurar para que o Nagios inicie automaticamente quando o sistema iniciar:

chkconfig --add nagios
chkconfig nagios on

Verificar o arquivo de configuração:

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

Se não tiver erros (Errors ou Warnings):

service nagios start

9. Modifique as configurações SELinux

O CentOS vem com o SELinux (Security Enhanced Linux) instalado e configurado no modo "Enforcing" por padrão. Isso pode resultar em um "Internal Server Error" (Erro Interno do Servidor). Para alterar isso, digite:

setenforce 0

Para tornar a alteração permanente, altere o arquivo /etc/selinux/config e deixe a linha SELINUX=disabled

vi /etc/selinux/config

Caso prefira, ao invés de desabilitar o SELinux ou modificar para o modo permissivo, você pode utilizar os comandos abaixo para rodar CGIs no modo "Enforcing" do SELinux:

chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

10. Configure o Firewall

Libere a porta 80 no Firewall:

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/etc/init.d/iptables save
/etc/init.d/iptables restart 

11. Acesse pela Interface Web

Acesse o Nagios pela interface web, pelo seu navegador:

http://localhost/nagios/

Se você estiver instalando em uma máquina remota, troque "localhost" pelo IP do servidor.

Fonte: http://nagios.sourceforge.net/docs/3_0/quickstart-fedora.html

 


  • Publicidade

  • Redes Sociais

    Facebook  Twitter
  • Estatísticas

    Page Views (desde março de 2010):

    Estatísticas detalhadas
  • Novidades por e-mail!

    Digite seu e-mail:


    Fique tranquilo. Seu e-mail não será usado para outros fins, e você poderá se descadastrar quando quizer.

    Eu!

    Tiago Passos
    Todo o conteúdo desse site esta licenciado sob a licença Creative Commons 3.0 (CC BY 3.0). Você pode copiar e modificar o conteúdo desde que cite o autor.
    iDream theme by Templates Next | Powered by WordPress