Monitorização com o Nagios

Para mim, como administrador de sistema de uma rede informática universitária, o Nagios é a melhor ferramenta de monitorização. Não só por ser opensource mas também pela forma como é possível estender a monitorização aos elementos mais estranhos.

nagios

Destaco as seguintes vantagens:

  • Monitorização intrusiva e não intrusiva
  • Monitorização de servidores (Windows / *Unix), serviços e equipamentos activos da rede
  • Possibilidade de desenvolvimento, de plugins específicos às necessidades de cada administrador. Estesplugins podem ser desenvolvidos nas mais diversas linguagem de programação / scripting como por exemplo bash, PHP, Python ou Perl.
  • Possibilidade de definir a monitorização da rede de forma hierárquica. Se um router “cair” apenas existe notificação de problemas no router e não em todas as máquinas / serviços que dele estão dependentes.
  • Escalável, uma vez que os processos de monitorização são executados de forma paralela
  • Capacidade de distribuir a monitorização por vários servidores Nagios, agregando posteriormente numa única interface todos os parâmetros monitorizados.
  • Notificação para quando é detectado um problema e para quando o mesmo é considerado resolvido. Estas notificações podem ser sob a forma de email, sms ou qualquer outro meio que possa ser despoletado via script criado pelo administrador.
  • Capacidade de executar acções de resolução sobre os problemas quando estes são detectados pelo Nagios.
  • Vários níveis de estado dos serviços monitorizados:
    • UNKNOWN: Quando não é possível obter informação sobre o elemento monitorizado.
    • OK: Quando o elemento monitorizado está a funcionar sem problemas.
    • WARNING: Quando o elemento monitorizado está acima do valor definido para Warning (Este valor é definido de forma independente para cada serviço). Por exemplo, quando uma queue de email contem mais de 200 emails para entregar
    • CRITICAL: Quando o elemento monitorizado está acima do valor definido para Critical (Este valor é definido de forma independente para cada serviço) ou deixou de responder aos pedidos do servidor Nagios. Seguindo o exemplo anterior, quando por exemplo a queue passa o limite de 400 emails.

nagios_02

Como monitorizar

Uma das formas que o Nagios tem de monitorizar um serviço é ligar-se ao porto desse serviço e interagir com o mesmo, fazendo-se passar por um cliente. Por exemplo para monitorizar um servidor Web, o Nagios liga-se ao porto 80 desse servidor, interpretando depois a informação que obtém.

Exemplo de uma monitorização de um servidor Web:

nagios_04

Este tipo de monitorização é considerado como monitorização não intrusiva.

Como fazer para monitorizar remotamente um serviço ou servidor ou recurso que não pode ser contactado remotamente, como por exemplo, a memória RAM de um servidor?

nagios_05

Para estes casos existe o NRPE. O NRPE é um agente que é instalado do lado do servidor a monitorizar que comunica posteriormente todas os parâmetros monitorizados ao servidor Nagios. Esta comunicação é efectuada sobre TCP porto 5666 através de um túnel encriptado com SSL. Este agente está disponível para Sistemas Operativos Windows e Linux.

O NRPE utiliza todos os plugins que estão disponíveis para o Nagios ou plugins definidos pelo administrador, como por exemplo, o seguinte script bash que monitoriza a quantidade de memória RAM disponível num servidor Linux.

#!/bin/bash 

# 

# Check mem 

# 

# 

# Configuration variables 

# 

FREE=/usr/bin/free 

AWK=/bin/awk 

WARNING=$1 

CRITICAL=$2

# 

# GET TOTAL RAM 

# 

TOTAL_RAM=$(/usr/bin/free -m -o | /bin/awk 'NR>1' | /bin/awk 'NR<2' | /bin/awk '{print $2}') 

FREE_RAM=$(/usr/bin/free -m | /bin/awk 'NR>2' | /bin/awk 'NR<2' | /bin/awk '{print $4}') 

if [ $FREE_RAM -gt $WARNING ] 

then 

echo "OK - TOTAL: $TOTAL_RAM MB FREE: $FREE_RAM | 'TOTAL'=$TOTAL_RAM 'FREE'=$FREE_RAM;200;100" 

exit 0 

fi 

if [ $FREE_RAM -lt $CRITICAL ] 

then 

echo "CRITICAL - TOTAL: $TOTAL_RAM MB FREE: $FREE_RAM | 'TOTAL'=$TOTAL_RAM 'FREE'=$FREE_RAM;200;100" 

exit 2 

fi
Web Interface

Outra grande vantagem do Nagios face a outros programas de monitorização é o facto de correr sobre uma Interface Web. Além de ser dispensável a instalação de qualquer software nos computadores dos responsáveis pelo sistema de monitorização, existe a vantagem de proteger o acesso a este sistema com base em certificados X.509 (http://en.wikipedia.org/wiki/X.509), que representam um aumento significativo da segurança face aos mecanismos de login e password tradicionais.

Por omissão o Nagios apenas permite a visualização do estado da rede em cada instante de tempo, isto é, não existe histórico. O histórico é muito importante para um administrador de sistema uma vez que permite encontrar padrões por exemplo em situações de maior carga da rede, podendo posteriormente adequar a configuração para lidar com estes picos da melhor forma.

Para colmatar esta falha existe o PNP4Nagios (http://docs.pnp4nagios.org/pnp-0.4/start). Trata-se de um Add-On que utiliza as RRDTools como forma de armazenamento dos dados de output dos plugins do Nagios. Estes resultados alimentam posteriormente o processo de criação dos gráficos.

nagios_07

Outros Add-Ons mais utilizados

Permite armazenar numa base de dados todos os valores adquiridos, monitorizados e valores de históricos de vários servidores Nagios. Serve de base para outros add-ons do Nagios.

Trata-se um de add-on de apresentação para o Nagios que permite a visualização de forma gráfica o estado dos equipamentos activos e serviços monitorizados. Esta informação é apresentada num visual personalizado com fotos reais dos rack’s de servidores / mapas de localização ou até mesmo componentes dos servidores.

Este add-on obtém todos os dados através do NDOUtils.

nagios_08

O Nagios serve de core a diversos sistemas comerciais de monitorização, como por exemplo:

  • Nagios XI
  • Op5 Monitor
  • Azeti SONARPLEX
  • OpMon
Nagios Exchange (http://exchange.nagios.org/)

O Nagios Exchange é o repositório oficial e aberto a toda a comunidade Nagios onde se encontram publicados todos os add-ons, plugins e extensões.

nagios_09

É um bom ponto de partida sempre que for necessário algum plugin para a monitorização de um novo serviço, antes de começar a partir pedra e a reinventar a roda na maior parte das vezes.

Download: Nagios (Core, Plugins, Addons)
Homepage: Nagios

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: