segunda-feira, 22 de abril de 2013

Nagios no Centos





Fala pessoal, pra que o pessoal não pense que eu só uso ubuntu estou criando esse tutorial de instalação do Nagios no Centos. Pessoalmente eu não ia postar esse tutorial por parecer muito simples, mas como encontrei um problema bem diferente durante o processo de instalação e consegui resolver resolvi postar.

Para esse tutorial estou utilizando uma versão do Centos minimalista, porque pessoalmente gosto de configurar qualquer servidor linux quase do zero, assim me garante muito mais controle. O único problema é que essa versão já vem com o SELinux e o iptables ativos.

Caso alguem queira, pode fazer o download clicando aqui.

A versão do kernel que utilizei para meus testes é: 2.6.32-279.9.1.el6

Bom, vamos começar a instalação.



Primeiramente como é uma versão minimalista, depois que realizou suas configurações básicas de rede e de funções do servidor, vamos configurar o repositório do RPM Forge:


# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
# rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm# yum clean all 


# yum update

Agora vamos fazer a instalação dos pacotes necessários:


# yum install httpd php php-mysql php-snmp php-xml php-pear mysql mysql-server mysql-devel net-snmp net-snmp-utils cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel make autoconf automake gcc gcc-c++ glibc glibc-common gd gd-devel -y 



Após executar toda instalação, vamos agora preparar o sistema para baixar o nagios.

Primeiro adicione usuário e grupo do nagios:


# useradd -r -s /sbin/nologin nagios
# groupadd nagcmd
# usermod -a -G nagcmd nagios
# usermod -a -G nagcmd apache
 


Em seguida, precisamos configurar a senha do mysql:


# service mysqld start
# mysqladmin -u root password senha
 

Lembrando de trocar a palavra "senha" pela senha de sua escolha.

Agora sim, nesse momento somos dignos de começar a instalação do nagios:)

# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.1.tar.gz
# tar xzfv nagios-3.4.1.tar.gz
# cd nagios
# ./configure --with-command-group=nagcmd
# make all
# make install
# make install-init
# make install-config
# make install-commandmode
 


Crie um usuário e uma senha para acesso ao nagios:

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




Finalmente instale o arquivo de configuração do Nagios.


# make install-webconf 


Como o nagios não é nada sem seus plugins, vamos começara a instalar eles:


wget http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz# tar xzf nagios-plugins-1.4.16.tar.gz
# cd nagios-plugins-1.4.16
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
# make
# make install
 

Agora, finalmente vamos colocar o Nagios para iniciar automáticamente:

# chkconfig --add nagios ; chkconfig nagios on 


Finalmente depois de tantas instalações podemos verificar se tudo deu certo:

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


Depois de confirmar que tudo está funcionando, vamos reiniciar o apache e iniciar o nagios

# service httpd restart ; service nagios start 

Outra coisa que nessa versão do Centos pode afetar o funcionamento do nagios são as regras de iptables. Recomendo que reconfigure de uma forma que permita o acesso ao nagios sem descuidar da segurança. Como não pretendo no momento colocar configurações sobre iptables, vamos parar o firewall apenas pela didática.

# service iptables stop


Nesse momento acesse http://ip_do_servidor/nagios, colocando o usuário e senha do nagios.


Agora vamos falar do problema que encontrei ao terminar de instalar o nagios.

Logo após terminar a instalação, colocar o nome de usuário e senha fiquei bem feliz, achando que meu trabalho já havia terminado. Só que quando clicava em qualquer link específico de monitoramento aparecia a mensagem abaixo:


Depois de muito pesquisar na net achei a seguinte solução usando os seguintes comandos:

# setenforce 0

Que faz com que o SELinux passe a atuar no modo permissivo.

# chcon -R -t httpd_sys_content_t /usr/local/nagios

Que altera o contexto de segurança da pasta do nagios, de forma recursiva.

Espero que gostem.