Essa é uma mandeira mais cômoda de detectar perdas de pacote nos links.
1- Primeiro passo, criar um script com o seguinte código fonte:
# Essa linha cria uma variável e insere o nome do equipamento
:gl equip ([ick [/sys id get name] 0 3])
#essa linha escreve uma mensagem no LOG para avisar que os 100 pings iniciaram
:log warning "Iniciando ping para meu gateway padrão..."
#essa linha executa 100 pings para o IP do gateway padrão com pacotes de 1500 e com a flag de não fragmentação ligada.
:gl teste [ping 192.168.0.1 size=1500 do-not-fragment count=100]
#note que nesse tipo de comando a variável vai receber a quantidade de pacotes RECEBIDOS
#essa linha avisa que os 100 pings foram terminados
:log warning "Pings para gateway padrao encerrados."
#como informado acima, o valor que a variável $teste vai receber é a quantidade de pacotes recebidos, sendo assim, a linha abaixo vai subtrair o valor total de pacotes recebidos da quantidade total de pacotes enviados (100).
:gl perdas [(100-$teste)]
#agora temos de fato a quantidade de PACOTES PERDIDOS na variável $perdas
#as linhas abaixo descrevem as ações tomadas caso o resultado do teste condicional ($perdas>0) seja positivo. Após o comando "do". É possível executar vários comandos colocando apenas um ponto e vírgula no final de cada. Escolhemos escrever no LOG, e também enviar um email com o nome do equipamento (variavel $equip) e a quantidade de pacotes perdidos.
:if condition=($perdas>0) do=[log warning " $perdas% de perdas"; log warning "Enviando email..." ; /tool e-mail send to=" [email protected]" subject=(" ALERTA!! O equipamento - ".$equip." está com ". $perdas."% de Perdas") from=" [email protected]"; log warning "Email enviado." ] else=[log warning "teste concluído sem perdas"]
#Caso o resultado do teste condicional ($perdas>0) for negativo, serão executados apenas os comandos depois de "else=" e que nesse caso apenas gera uma mensagem no log avisando que não há perdas de pacotes.
#esse exemplo pode ser melhorado executando ações como mudança de link desabilitando uma sessão BGP com a operadora problemática, e muitas outras opções, dependendo das particularidades de cada rede.
2- Segundo passo, no menu system scheduler você manda executar esse script a cada 5 minutos. (+ ou - caso jugue necessário)
Agradecimento especial para Edilson José que me ajudou a melhorar esse código.