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.