Tutoriais · Networking

Nágios – Monitorização Open Source

26 Comentários

Por Ricardo Ruivo para o PPLWARE

Este artigo surge na sequência do meu comentário ao artigo  SpiceWorks – Monitorize toda a sua rede informática, ao qual o Pedro Pinto me lançou o repto de escrever sobre 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. Estes plugins 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
  • NDOUtils (http://www.nagios.org/download/addons)

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

Autor: Pedro Pinto
Partilhar:
Tags:
Também pode gostar

Comentários

26

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de Rui Costa

    Utilizei-o enquanto operador de datacenter. Muito bom.

  2. Avatar de J. Matias
    J. Matias

    Excelente artigo! pena não ter vindo à uns meses atrás quando tive que apresentar um estudo comparativo entre as melhores ferramentas open source de monitorização… :S De facto, é mesmo uma óptima solução!

    1. Avatar de Francisco
      Francisco

      Boas, estou a fazer um estudo de mercado entre as melhores ferramentas open source ligadas à monitorização. Do que já pesquisei o Nagios parece-me o melhor, poderá dar-me algum feedBack sobre que mais ferramentas usou no seu trabalho?

      Cumprimentos

      1. Avatar de Ricardo Ruivo
        Ricardo Ruivo

        Boa noite,
        penso que este post http://ppl.sitedev.pt/internet/zabbix-o-proximo-passo-em-monitorizacao-de-redes/ responde ás suas questões 🙂 Bom trabalho.

        1. Avatar de Francisco
          Francisco

          Boa tarde, o estudo que estou a fazer é ao nível da bilhética, “ticketing”, e relativamente a essa área a informação na Net sobre quais os sistemas de monitorização mais usados é escassa ou inexistente. Alguém me conseguiria dar feedback sobre este tema?

          Desde já grato pelo seu comentário Ricardo 🙂

  3. Avatar de lmx
    lmx

    Parabéns pela publicação,grande programa de monitorização.

    cmps

  4. Avatar de Pedro Pinto

    Parabéns Ricardo ! Bom artigo 🙂

  5. Avatar de andrev
    andrev

    Bom artigo.
    Utilizo o icinga + pnp4nagios + NDOUtils, muito fiável e preciso.
    o Icinga é baseado no nagios, mas o aspecto gráfico foi um pouco melhorado.

    Para quem quiser experimentar:
    http://classic.demo.icinga.org/icinga/
    user: guest
    password: guest

  6. Avatar de Nuno Santos
    Nuno Santos

    Sem dúvida uma grande ferramenta, ainda por cima free…

    Útil em qualquer datacenter..

    Abraços

  7. Avatar de Dias
    Dias

    Ja esta na horinha de organizarem a sala de servidores.

  8. Avatar de ze mendes
    ze mendes

    Uso actualmente uma versão do Nagios 2.0 mas altamente modificada.
    Deixou de ser usado apenas para monitorizar redes, e passou a executar também comandos unix e querys SQL em Oracle.
    Simples, o retorno do comando ou da query terá de ser sempre um numero e consoante o numero tem um threshold atribuído numa tabela de configuração na BD, sendo então mostrado Warning, critical ou OK, com o respectivo envio de SMS e e-mail!
    No meu caso o Nagios foi apenas uma rampa de lançamento e o suporte para mais do que monitorizar redes. E funciona MUITO BEM!
    Excelente!

  9. Avatar de Carlos Telles

    Boas

    durante vários anos tenho usado o Big Brother versão free, mas tenho de mudar uma vez que não suporta w7 nem WS2008. a minha dúvida em relação a ste software é se me permite monotorizar máquinas remotas independente de estarem em dominio?

    obrigado
    Carlos Telles

    1. Avatar de Ricardo Ruivo
      Ricardo Ruivo

      Sim, podes monitorizar servidores / serviços em Máquinas Windows sem qualquer problema. Alias, podes monitorizar até a carga de uma UPS 😉

  10. Avatar de Luis Santos

    Só uma questão, não funciona em Windows? certo? Tenho que instalar numa máquina com linux?

    Obrigado
    Cumps

  11. Avatar de Nuno Silva
    Nuno Silva

    Usando como motor de base o Nagios -> http://pandorafms.org/

  12. Avatar de Jorge Henriques
    Jorge Henriques

    Parabéns pelo artigo! Muito bom!

    Ab,

  13. Avatar de João Figueiredo
    João Figueiredo

    Sou administrador Zabbix feliz com as suas funcionalidades e evolução.
    Há uma grande % de administradores Zabbix que usaram Nagios durante anos e desde a migração nunca mais quiseram voltar.

    1. Avatar de João Neves
      João Neves

      O problema do Nagios, na minha opinião prende-se com a necessidade de existir uma máquina linux. Nem sempre se consegue (organização microsoft partner) uma máquina Linux.

      No meu caso, uso cacti, essencialmente para redes.

  14. Avatar de ren
    ren

    uso nagios, e ate agora nao encontrei melhor !!!
    ja testei “ao de leve” cacti, mas nagios foi o que “vincou” mais 🙂

  15. Avatar de ze mendes
    ze mendes

    É Nagios e não Nágios!

  16. Avatar de Bruno Anjos
    Bruno Anjos

    Excelente ferramenta. O pessoal comenta muito sobre o Zabbix, mas ninguém sabe explicar quais as principais vantagens sobre o Nagios.

    1. Avatar de JDC
      JDC

      Posso dizer que já utilizei os dois e as diferenças que senti entre os dois é que o Zabbix é mais rápido na instalação e configuração principalmente por ser mais fácil de entrar no “esquema”. Facilmente se configura sem grande know-how anterior.
      Por outro lado o Nagios é considero mais poderoso em termos de funcionalidades, muitas vezes senti falta de funções que não existiam à partida no Zabbix.

      Acho que a grande coisa em relação aos dois softwares é que considero o Nagios um software mais exigente em termos de conhecimento não só a nível da sua configuração inicial mas para sobretudo durante a sua utilização.

      Neste momento estou em fase final de testes sobre os dois softwares mas estou mais inclinado para o Nagios.º

      Espero não tar a passar ideias confusas e erradas.

      1. Avatar de JDC
        JDC

        O que esqueci de referir é que o Nagios creio ser mais poderoso e com mais potencial. Mas os dois são muito semelhantes.

        Existe também uma GUI que assenta sobre o Nagios que é o Centreon -> também já instalei e gostei.
        http://www.centreon.com/

  17. Avatar de Nuno Silva
    Nuno Silva

    Essa é outra questão, as interfaces por cima do Nagios…quando no Nagios organizas os ficheiros de uma maneira que para ti é lógica e depois vem uma interface que implementa a sua própria lógica…não sendo impossível, é complicado assimilar…e sempre fui adepto do VI 😛

  18. Avatar de Francisco Alarico
    Francisco Alarico

    Boa tarde,
    Estou a fazer um estudo de mercado sobre sistemas de monitorização ao nível da bilhética, “ticketing”.
    Apesar de um sistema de bilhética ser baseado em equipamentos standard, a sua monitorização envolve um conjunto alargado e muito específico de periféricos, especialmente no caso das máquinas automáticas: dispensadores de bilhetes, aceitadores de moedas e notas, painéis de supervisão, leitores de cartões, etc.
    Relativamente a essa área a informação na inernet sobre quais os sistemas de monitorização mais usados são escassos ou inexistentes. O Zabbix é utilizado na bilhética? Têm conhecimento de mais algum sistema de monitorização ligado à bilhética?
    Desde já grato pela atenção
    Francisco Alarico