?️ Manual – Ping em Múltiplas Tabelas de Roteamento via Zabbix
Neste exemplo, vamos criar dois scripts externos no Zabbix para realizar ping em diferentes tabelas de roteamento (VRF) no MikroTik, de forma separada.
Isso é útil, por exemplo, para:
Monitorar latência de cada link individual
Detectar perda de pacotes em rotas distintas
Gerar triggers por link específico
? Estrutura usada no exemplo
Tabelas de Roteamento:
main– Tabela principalvrf-GUEST– Tabela secundária (VRF)
Objetivo:
Criar dois scripts:
ping_main.sh→ ping na rota principalping_vrf.sh→ ping via VRF secundária
? Caminho padrão para scripts externos no Zabbix
/usr/lib/zabbix/externalscripts
✏️ 1. Criar script ping_main.sh
nano /usr/lib/zabbix/externalscripts/ping_main.sh
Conteúdo do script:
#!/bin/bash # Script para coletar apenas o avg-rtt do ping na tabela principal (main) HOST=$1 USER="zabbix" PASS="senhaSSH" TARGET="8.8.8.8" RESULT=$(sshpass -p "$PASS" ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 ${USER}@${HOST} \ "/ping ${TARGET} count=3" 2>/dev/null | grep 'avg-rtt') AVG=$(echo "$RESULT" | sed -n 's/.*avg-rtt=\([0-9.]*\)ms.*/\1/p') if [[ -z "$AVG" ]]; then echo -1 else echo "$AVG" fi
✏️ 2. Criar script ping_vrf.sh
nano /usr/lib/zabbix/externalscripts/ping_vrf.sh
Conteúdo do script:
#!/bin/bash # Script para coletar apenas o avg-rtt do ping via VRF HOST=$1 USER="zabbix" PASS="senhaSSH" VRF_NAME="vrf-GUEST" TARGET="8.8.8.8" RESULT=$(sshpass -p "$PASS" ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 ${USER}@${HOST} \ "/ping ${TARGET} vrf=${VRF_NAME} count=3" 2>/dev/null | grep 'avg-rtt') AVG=$(echo "$RESULT" | sed -n 's/.*avg-rtt=\([0-9.]*\)ms.*/\1/p') if [[ -z "$AVG" ]]; then echo -1 else echo "$AVG" fi
? Observações importantes
Os campos
USERePASSdevem ser de um usuário criado no MikroTik com permissão para SSHO parâmetro
count=3define quantos pings serão feitos (pode aumentar, mas isso também aumenta o tempo de execução)Se aumentar
count, considere aumentar também o timeout do item no Zabbix
✅ Permissões
Garanta que os scripts estejam executáveis e com permissões corretas:
chmod +x /usr/lib/zabbix/externalscripts/ping_main.sh chmod +x /usr/lib/zabbix/externalscripts/ping_vrf.sh chown zabbix:zabbix /usr/lib/zabbix/externalscripts/ping_main.sh chown zabbix:zabbix /usr/lib/zabbix/externalscripts/ping_vrf.sh
? Reiniciar o serviço Zabbix
systemctl restart zabbix-server
? Teste via terminal
bash /usr/lib/zabbix/externalscripts/ping_main.sh 172.16.22.30 bash /usr/lib/zabbix/externalscripts/ping_vrf.sh 172.16.22.30
172.16.22.30deve ser o IP de gerenciamento do MikroTik acessível via SSH
? Configurando no Zabbix Web
Criar item no host:
Configuration → Hosts → [seu host] → Items → Create item
Exemplo para ping_vrf.sh:
| Campo | Valor |
|---|---|
| Name | Ping VRF GUEST RTT |
| Type | External check |
| Key | ping_vrf.sh["172.16.22.30"] |
| Type of info | Numeric (float) |
| Units | ms |
| Update interval | 1m ou 5m |
| Timeout | 10s |
| History | 31d |

Agora você pode usar esse item para:
Criar gráficos de latência
Gerar triggers de latência alta ou falha
Monitorar cada rota individualmente dentro do mesmo roteador
Exemplo no Grafana:


Este artigo foi útil?
Que bom!
Obrigado pelo seu feedback
Desculpe! Não conseguimos ajudar você
Obrigado pelo seu feedback
Feedback enviado
Agradecemos seu esforço e tentaremos corrigir o artigo