Monitorando a conectividade de rede no Busybox / Linux embarcado

2

Eu tenho um sistema Linux / Busybox embutido que precisa monitorar sua própria conectividade de rede. Eu estou tentando descobrir se o dispositivo está "sozinho" na rede por mais de 10 minutos, e tomar medidas corretivas se for. O sistema pode estar em um local fisicamente inacessível.

Estou principalmente procurando uma solução geral para detectar falhas brutas, por exemplo, o sistema está recebendo zero tráfego de rede. Nosso servidor pode monitorar portas específicas por conta própria.

O rootfs aproxima-se rapidamente do seu tamanho máximo de 16MB, por isso muitas aplicações comuns não são uma opção, por exemplo nmap ou tcpdump nos colocaria acima do limite de 16 MB.

Aqui estão minhas ideias:

  • Alguma entrada em /proc/net pode indicar a hora do último pacote TCP ou UDP
  • Encontre algum peer aleatório na rede e tente fazer ping ( alguém está lá escutando ??? )
  • Monitore /sys/class/net/eth0/rx_packets para ver se o número está aumentando

O que será mais confiável?

    
por Cuadue 06.02.2015 / 01:47

1 resposta

1

Suas últimas duas ideias são boas. (Sua primeira ideia se resume a praticamente a mesma coisa que sua terceira ideia.) A questão é se você precisa fazer um monitoramento ativo ou passivo.

O ponto contra o monitoramento passivo é que a falta de tráfego pode ser normal em parte do tempo simplesmente porque, por exemplo, não há clientes usando ativamente os serviços fornecidos pela sua caixa. Se você pode assumir, com base em seu caso de uso, que isso não deveria acontecer, então o monitoramento passivo estará bem.

O ponto contra o monitoramento ativo é que você declarará falsamente uma falha se o recurso externo específico que você escolheu monitorar estiver realmente inativo (ou seja, o problema está do outro lado). Você pode atenuar isso ativamente monitorando mais de um recurso externo e reagir somente se todos eles se tornarem inacessíveis ao mesmo tempo.

    
por 06.02.2015 / 02:06