Depois de algum tempo sem postar nada, devido à carga de trabalho em que estava (e agora que tenho mais tempo, porque estou desempregado... rs), segue um tutorial abordando uma versão atualizada do
Nagios, rodando em cima da versão mais recente do
CentOS e com o
Centreon 2.4.5 como front-end.
Obs.: faça os procedimentos abaixo a partir do usuário root ou de outro que possua os mesmos privilégio de superusuário.
Pré-requisitos
1. Os pacotes de pré-requisitos de instalação não se encontram nos repositórios padrões do CentOS. Para poder utilizá-los, adicione o repositório
RPM Forge atualizado e correspondente à arquitetura de seu servidor, seguindo os passos abaixo:
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
# wget http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
Altere as primeiras linhas do arquivo
RPM-GPG-KEY.dag.txt para que ele inicie exatamente com a mensagem:
-----BEGIN PGP PUBLIC KEY BLOCK-----
# rpm --import RPM-GPG-KEY.dag.txt
# rpm -Uvh rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
Instalação dos pré-requisitos
2. Rode os seguintes comandos para instalar todos os pacotes necessários:
# yum update
# yum upgrade
# yum yum install httpd gd fontconfig-devel libjpeg-devel libpng-devel gd-devel perl-GD openssl-devel perl-DBD-MySQL mysql-server mysql-devel php php-mysql php-gd php-ldap php-xml php-mbstring perl-Config-IniFiles perl-DBI perl-DBD-MySQL rrdtool perl-rrdtool perl-Crypt-DES perl-Digest-SHA1 perl-Digest-HMAC net-snmp-utils perl-Socket6 perl-IO-Socket-INET6 net-snmp net-snmp-libs php-snmp dmidecode lm_sensors perl-Net-SNMP net-snmp-perl fping cpp gcc gcc-c++ libstdc++ glib2-devel php-pear php-pear.noarch
2.1. Comandos adicionais.
Após a instalação os comandos adicionais abaixo, são necessários para configurar o ambiente corretamente:
# usermod -U apache
# pear channel-update pear.php.net
# pear config-set http_proxy http://proxy:porta # Se você estiver "atrás" de um proxy
# pear upgrade-all
Ajustando credenciais de acesso
3. Crie um usuário
nagios e atribua uma senha:
# useradd -m nagios
# passwd nagios
3.1. Crie o grupo de usuário para comandos externos enviados pela interface WEB, associe o usuário
nagios e
apache:
# groupadd nagcmd
# usermod -a -G nagcmd nagios
# usermod -a -G nagcmd apache
Baixando e compilando o Nagios
4. Altere o caminho conforme abaixo e baixe a versão recente do
Nagios Core:
# cd /usr/local/src/
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.5.1.tar.gz
4.1. Descompacte e entre no diretório:
# tar -xzf nagios-3.5.1.tar.gz
# cd nagios
4.3. Configure e instale:
# ./configure --with-command-group=nagcmd
# make all
# make install
# make install-init
# make install-commandmode
# make install-config
4.4 Configure a interface WEB:
# make install-webconf
4.5 Crie a conta
nagiosadmin para acessar a interface WEB do Nagios - Guarde esta senha!
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Baixando e compilando os plugins do Nagios
5. Altere o caminho e verifique as versões recentes de plugins para o Nagios:
# cd /usr/local/src
# wget https://www.nagios-plugins.org/download/nagios-plugins-1.5.tar.gz
5.1. Descompacte e entre no diretório:
# tar -xzf nagios-plugins-1.5.tar.gz
# cd nagios-plugins-1.5
5.2. Configure e instale:
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
# make
# make install
Iniciando o Nagios
Os comandos abaixo irão adicionar o Nagios ao
runlevel para início automático, checar os arquivos de configuração e iniciar o serviços do Nagios:
6. Iniciar o Nagios de forma automática:
# chkconfig --add nagios
# chkconfig nagios on
6.1. Verificar os arquivos de configuração:
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
6.2. Iniciando o serviço:
# service nagios start
Configurando o SELinux
O SELinux, como todos vocês sabem, vem habilitado por padrão nas versões recentes do CentOS e causa muita dor de cabeça para alguns SysAdmins. Vou abordar três formas de fazer com que o SELinux trabalhe de forma paralela com o Nagios.
A primeira delas é desabilitando (não recomendo) as outras duas, são as que recomendo, é sempre bom manter o SELinux habilitado, principalmente em servidores de produção, para diminuirmos a possibilidade de acessos não autorizados ao nosso ambiente.
7. Desabilitando o SELinux:
# vi /etc/selinux/config
Altere a linha:
SELINUX=enforcing
Para:
SELINUX=disabled
No próximo boot da máquina, o
SELinux vai estar desabilitado.
7.1. Configurando o SELinux - permissive:
# setenforce 0
Esta opção coloca o SELinux em modo permissivo. Para que as alterações sejam permanentes, altere o
/etc/selinux/config.
7.2. Utilizando o Nagios com o SELinux em modo
enforcing:
# chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
# chcon -R -t httpd_sys_content_t /usr/local/nagios/share/
8. Faça o "logon" na interface WEB e verifique os detalhes do que já está sendo monitorado: