En algunas ocasiones es necesario la monitorización de la existencia de determinados interfaces en el equipo Mikrotik. No estamos hablando del estado de interfaces sino de si están presentes o no. ¿tiene sentido? Por supuesto. En mi caso hemos tenido que monitorizar la presencia de interfaces durante una prueba de vibraciones UNE‐EN 60068‐2‐6 realizada a un equipo mikrotik en laboratorio.
En concreto los interfaces basados en módulos MiniPCI-e pueden sufrir desconexiones durante este tipo de ensayos. Cuando uno de estos módulos se desplaza de su zócalo, el efecto inmediato es la desaparición del interfaz que proporciona.
Para tener un registro de esto, configuramos un script como el siguiente:
:if ([:len [/interface wireless find name="wlan1" ]]>0) do={:put "wlan1 found"} else={:put "No wlan1 interface found!!!"};
En el comando /interface wireless se busca la cadena «wlan1» en este ejemplo. Si su longitud es cero significa que no existe ese interfaz.
Así pues un pequeño script definitivo para guardar en el log quedaría como:
:if ([:len [/interface wireless find name="wlan1" ]]>0) do={:log info "wlan1 found"} else={:log info "No wlan1 interface found!!!"};
:if ([:len [/interface wireless find name="wlan2" ]]>0) do={:log info "wlan2 found"} else={:log info "No wlan2 interface found!!!"};
:if ([:len [/interface ethernet find name="ether1" ]]>0) do={:log info "ether1 found"} else={:log info "No ether1 interface found!!!"};
:if ([:len [/interface lte find name="lte1" ]]>0) do={:log info "lte1 found"} else={:log info "No lte1 interface found!!!"};