De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

NagiosVision - Tem humanos perto do seu servidor

Colaboração: Alessandro de Oliveira Faria

Data de Publicação: 30 de março de 2011

O Nagios é uma poderosa ferramenta para gerenciamento e monitoramento de redes, serviço e estado de um determinado equipamento. Juntos aos recursos de relatórios de estado, problemas e alerta este pacote atende as necessidades de acompanhamento em diversos aspectos computacionais. Do recebimento de mensagens SMS em celulares até monitoramento em tempo real em smartphones, o Nagios atende todas as expectativas no que tange ao requisito alerta.

Como hobby de finais de semana e nas horas vagas, desenvolvi o NagiosVision com o objetivo de criar alertas baseado em comportamentos processados direto do vídeo ao vivo. Contagem de pessoas, análise de fluxo, prevenção a assaltos, análise de trânsito podem serem monitorados em tempo real com uma simples webcam junto ao poder e flexibilidade do Nagios.

Este documento foi baseado no Nagios NSCA, para maiores detalhes sugiro ler aqui no portal Viva o Linux no artigo publicado pelo Ander Ribeiro, sendo assim não entrarei em detalhes sobre a configuração e instalação do mesmo. Vale a pena mencionar que o uso do recurso NSCA somente é necessário quanto utilizando alertas passivos.

Requisitos

A seguir os requisitos para o bom funcionamento do plugins NagiosVision.

  • Webcam;
  • Biblioteca OpenCV
  • Nagios
  • Nagios NSCA (opcional)

A seguir, algumas imagens para ilustrar a funcionalidade do plugin NagiosVision em ação:

Download e instalação

O download deve ser efetuado na página do projeto:

http://sourceforge.net/projects/nagiosvision

O plugin também foi incluído ao projeto oficial do Nagios:

http://exchange.nagios.org/directory/Plugins/Security/NagiosVision/details

Logo a seguir descompacte o pacote .tar.gz e compile com o tradicional comando make e make install:

  $ tar -zxvf nagiosvision-0.91.targ.gz
  $ cd nagiosvision/
  $ make
  $ gcc -Wno-write-strings  `pkg-config --libs opencv` `pkg-config --cflags opencv`  nagiosvision.cpp -o nagiosvision
  $ sudo make install

No servidor Nagios com o NSCA server configurado, edite o arquivo do hosts que será monitorado.

  $ sudo vi /etc/nagios/objects/NOME-HOST.cfg
  define service {
          use                             generic-service
          host_name                       NOME-HOST
          service_description             checkNagiosVision
          active_checks_enabled           0
          passive_checks_enabled          1
          check_command                   check_ping
          }
  

Para o script ser executado a cada 1 minuto, insira a linha abaixo no arquivo /etc/crontab na máquina com o nsca-client instalado. Repare que o caminho do script deve corresponder ao local onde descompactamos o código fonte.

  */1 * * * *  root /root/nagiosvision/chkNagiosVision.sh

Para finalizar, edite o arquivo chkNagiosVision.sh e altere a variável NAGIOS_SERVER e insira o seu e-mail para receber o alerta substituindo a string "<yourmail (a) yourdomain com>".

IMPORTANTE

  • O parâmetro -C 0 representa o índice do dispositivo de captura.
  • Já o parâmetro -w 60 define um alerta Warning quando o tamanho da face for maior que 60 pixels.
  • Para finalizar o parâmetro -c 120 define um alerta Critical quando o tamanho da face for maior que 120 pixels.

Abaixo o conteúdo do script chkNagiosVision.sh, após os devidos ajustes, com a execução a cada minuto do crontab, o NagiosVision passa a disparar os estados de alerta.

  #!/bin/bash
  
  NAGIOS_SERVER=10.0.0.69
  HOST_IN_NAGIOS=$(hostname)
  cd /usr/lib/nagios/plugins/
  COMAND_RESULT=`/usr/lib/nagios/plugins/nagiosvision -C 0 -w 60 -c 120 2> /dev/null`
  RESULT_CODE=$?
  SERVICE_NAME="checkNagiosVision"
  if [ $RESULT_CODE != 0 ]; then
  echo "NAGIOS Vision ALERT: Human in your server." | /bin/mail -a /tmp/face-found.jpg -s "ALERT: Human in your server" yourmail@yourdomain.com
  fi
  
  echo "$HOST_IN_NAGIOS;$SERVICE_NAME;$RESULT_CODE;$COMAND_RESULT" | send_nsca -H $NAGIOS_SERVER -p 5667 -c /etc/nagios/send_nsca.cfg -d ";"

Espero que este documento simples e objetivo ajude a instalação e configuração do projeto NagiosVision, que sofrerá muitas implementações baseadas na minha disponibilidade temporal. Como sempre menciono... Colaborar atrai amigos, competir atrai inimigos...

Para finalizar, críticas e sugestões: <cabelo (a) opensuse org>

Alessandro de Oliveira Faria é sócio-fundador da empresa NETi TECNOLOGIA fundada em Junho de 1996 (http://www.netitec.com.br), empresa especializada em desenvolvimento de software e soluções biométricas, Consultor Biométrico na tecnologia de reconhecimento facial, atuando na área de tecnologia desde 1986 assim proporcionando ao mercado soluções em software nas mais diversas linguagens e plataforma, levando o Linux a sério desde 1998 com desenvolvimento de soluções open-source, diversos documentos técnicos disponibilizado na internet, membro colaborador da comunidade Viva O Linux, mantenedor da biblioteca open-source de vídeo captura entre outros projetos e openSUSE Member.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Alessandro de Oliveira Faria