Aqui faremos um POST rápido sobre um assunto que acreditamos que possa acrescentar a vários profissionais.

Este Manual foi produzido sobre o sistema operacional Linux distribuição CentOS 7.0 X86_64.

Para instalar o Servidor Nagios é necessário instalar (seguindo manuais de cada procedimento):

  • Instalação do Linux Padrão;
  • Servidor Web;
  • PHP;
  • Servidor MySQL.

FALAR DO MANUAL QUE DEVE SEGUIR

FALAR O QUE É IC (chamar de item de monitoramento?)

Falar do https://exchange.nagios.org/directory

dnf install gcc glibc glibc-common perl httpd php wget gd gd-devel openssl-devel -y
dnf update -y

cd /tmp

wget https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.6.tar.gz
tar xzf nagios*.tar.gz

rm -rf nagios*.tar.gz
cd /tmp/nagios*

./configure

make all

make install-groups-users

usermod -a -G nagios apache

Instalar binários:

make install
make install-daemoninit
make install-commandmode
make install-config
make install-webconf

Se o Firewall estiver habilitado, crie as regras de liberação com os seguintes comandos:

firewall-cmd --zone=public --add-port=80/tcp
firewall-cmd --zone=public --add-port=80/tcp –permanent

Para criar a conta de usuário nagiosadmin, execute o seguinte comando:

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

Quando precisar adicionar usuários adicionais, você precisará remover o -c do comando acima, caso contrario, ele vai sobescrever o usuário nagiosadmin existe.(e qualquer outro usuário que foi criado).

Instalação dos Plugins

yum install -y gcc glibc glibc-common make gettext automake autoconf wget openssl-devel net-snmp net-snmp-utils epel-release

yum --enablerepo=powertools,epel install perl-Net-SNMP

Download dos plugins:

cd /tmp
nagiosplugins=`curl -X POST https://www.nagios.org/downloads/nagios-plugins/ | tr "<" "\n" | tr ">" "\n" | tr \" "\n" | grep .tar.gz | grep "https://nagios-plugins.org/download"`
wget $nagiosplugins

useradd nagios

tar -xpzf /tmp/nagios-plugins-*.tar.gz
rm -rf nagios-plugins-*.tar.gz
cd /tmp/nagios-plugins-*

./tools/setup
./configure
make
make install
cd /tmp/

wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.2/nrpe-4.0.2.tar.gz
tar xpzf nrpe-*.tar.gz
cd nrpe-*
./configure
make all
make install-plugin

Iniciando os serviços

Para iniciar os serviços web Apache e Nagios, execute:

systemctl enable httpd
systemctl start httpd
systemctl enable nagios
systemctl start nagios

Integração com o AD

  • Cliente (Linux e Windows)

Para instalar no linux, execute:

yum install -y gcc glibc glibc-common openssl openssl-devel perl wget

cd /tmp
nagiosplugins=`curl -X POST https://www.nagios.org/downloads/nagios-plugins/ | tr "<" "\n" | tr ">" "\n" | tr \" "\n" | grep .tar.gz | grep "https://nagios-plugins.org/download"`
wget $nagiosplugins
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.2/nrpe-4.0.2.tar.gz

tar -xpzf /tmp/nagios-plugins-*.tar.gz
rm -rf /tmp/nagios-plugins-*.tar.gz
cd /tmp/nagios-plugins-*

useradd nagios

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-ipv6=no

make
make install

mkdir -p /usr/lib64/nagios/plugins
mkdir -p /usr/local/nagios
ln -s /usr/lib64/nagios/plugins /usr/local/nagios/libexec

cd /tmp

tar xpzf nrpe-*.tar.gz
rm -rf nrpe-*.tar.gz
cd nrpe-*

./configure --enable-command-args

make install-groups-users
make all

make install
make install-config

echo >> /etc/services
echo '# Nagios services' >> /etc/services
echo 'nrpe    5666/tcp' >> /etc/services

make install-init
systemctl enable nrpe.service

sed -i "s/allowed_hosts=/#allowed_hosts=/g" /usr/local/nagios/etc/nrpe.cfg
sed -i 's/^dont_blame_nrpe=.*/dont_blame_nrpe=1/g' /usr/local/nagios/etc/nrpe.cfg
echo "allowed_hosts=IP_DO_SERVIDOR_NAGIOS" >> /usr/local/nagios/etc/nrpe.cfg

echo "command[check_nrpe]=/usr/local/nagios/libexec/\$ARG1$ $ARG2$"  >> /usr/local/nagios/etc/nrpe.cfg
echo "command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p $ARG1$"  >> /usr/local/nagios/etc/nrpe.cfg
echo "command[check_proc]=/usr/local/nagios/libexec/check_procs -C $ARG1$  -w @0:0 -c @0:0$"  >> /usr/local/nagios/etc/nrpe.cfg
echo "command[check_memory]=/usr/local/nagios/libexec/check_memory.sh $ARG1$ $ARG2$"  >> /usr/local/nagios/etc/nrpe.cfg

systemctl restart nrpe.service

touch /usr/local/nagios/libexec/check_memory.sh
chmod 755 /usr/local/nagios/libexec/check_memory.sh
vim /usr/local/nagios/libexec/check_memory.sh

Dentro, pressione a tecla INSERT de seu teclado para entrar em modo de inserção coloque o seguinte conteúdo:

#!/bin/bash
if [[ $2 -gt $1 ]]; then
	echo "ERROR - Use [COMMAND] [WARNING_VALUE] [CRITICAL_VALUE]"
	exit 3
fi
if [[ -z  $2 ]]; then
        if [[ -z  $1 ]]; then
                warning_value=15
                critical_value=10
        else
                echo "ERROR - Use [COMMAND] [WARNING_VALUE] [CRITICAL_VALUE]"
                exit 3
        fi
else
	warning_value=$1
	critical_value=$2
fi
memory_information=`free | grep "Mem:"`
memory_total=`echo $memory_information | awk '{ print $2; }'`
memory_free=`echo $memory_information | awk '{ print $4; }'`
memory_consumption=`bc <<<"$memory_free*100/$memory_total"`
if [[ $memory_consumption -gt $warning_value ]]; then
        msg="OK"
        code=0
else
        if [[ $memory_consumption -gt $critical_value ]]; then
                msg="WARNING"
                code=1
        else
                msg="CRITICAL"
                code=2
        fi
fi
echo "Memory Consumption $msg - $memory_consumption% free (w - $warning_value, c - $critical_value)"
exit $code

Ao final digite a tecla ESC, para sair do modo de inserção, em seguida digite :wq! e pressione ENTER para sair e salvar.

  • Cliente Windows

Instale o nsclient (baixe arquivo .msi) depois de instalado pare o serviço nsclient no Windows, edite o arquivo NSC.ini adicione o host autorizado (o servidor Nagios), a porta de monitoramento 12489 e reinicie o serviço.

Mais implementações (Opcionais)

  • Criar novos DashBoards, com o NAGVIS ou Grafana
  • Interface web para adicionar ativos ou IC’s, com o NagiosQL
  • Adicionar gráficos históricos aos seus IC’s, com o PNP4Nagios

Caso tenham interesse por esses temas, nos mandem um e-mail que adicionaremos esses Posts.

Fontes/Referências

https://exchange.nagios.org/directory
https://nagvis.org
https://grafana.com
https://pnp4nagios.org
https://sourceforge.net/projects/nagiosql

Mais Informações

Esperamos ter ajudado da melhor forma possível e estaremos sempre a disposição para mais informações.

Entre em contato conosco pelo e-mail equipe@nvlan.com.br.

NVLAN - Consultoria