Если реально нужно перехватывать события в логах реалтайме, то можно придумать один способ, правда весьма извратный и расточительный. Нужно настроить отсылку логов Syslog на локальный адрес роутера, в правилах файрвола в цепочке создать правило, которое будет перехватывать нужное сообщение с логами (по полю Content) и создавать динамическую запись address-list, а в шедулере проверять наличие такой записи и по её появлении делать какие-то действия.
Концепт-конфиг, которой отслеживает появление в логе отправленной из какого-либо скрипта или командной строки строчки "testtest" (правила файрвола должны быть до правила, разрешающего трафик established+related):
# создаем интерфейс, на который можно повесить ip-адрес
/interface bridge add name=logging-bridge
# создаем локальный ip-адрес, на который будем слать Syslog
/ip address add address=127.0.0.2 interface=logging-bridge
# прописываем Syslog-сервер, на который будут отправляться логи
/system logging action add name=remote2logwarch remote=127.0.0.2 target=remote
# задаем отправку логов ни этот сервер, в topics прописываем нужные разделы вместо script
/system logging add action=remote2logwarch topics=script
# создаем правило, которое создает запись в address-list при наличии нужной подстроки в полученном syslog-пакете
/ip firewall filter add action=add-src-to-address-list address-list=_logwatch_testtest address-list-timeout=1m chain=input content=testtest dst-address=127.0.0.2 dst-port=514 protocol=udp
# создаем шедулер, который проверяет наличие нужной записи в address-list и выполняет какие-либо действия
/system scheduler add interval=1s name=logwatch_testtest_1sec on-event=":if [ /ip firewall address-list find where dynamic && list=\"_logwatch_testtest\" ] do={ /ip firewall address-list remove [find dynamic && list=\"_logwatch_testtest\"]; /log info \"log entry catched!\" }\r\n" policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start-date=jan/01/2021 start-time=00:00:00