RouterOS handleiding

Netwatch

Netwatch CLI-referenties

Netwatch bewaakt de status van hosts op het netwerk. Bewaking kan met de volgende probetypes worden uitgevoerd:

  1. Simple - Gebruikt ping, zonder geavanceerde metrieken
  2. ICMP - Pingt naar een opgegeven IP-adres van hosts, met de mogelijkheid om drempelwaarden aan te passen
  3. TCP-conn - Test de TCP-verbinding
  4. HTTP-GET - Stuurt een verzoek naar een server die u monitort
  5. HTTPS-GET - Stuurt een verzoek naar een server die u monitort
  6. DNS - Stuurt een DNS-query naar een DNS-server en controleert of er een antwoord komt.

Algemene configuratie-informatie

Deze sectie behandelt informatie die relevant is voor alle typen Netwatch-probes.

  • Standaardwaarden van Netwatch worden altijd gebruikt - zelfs als ze niet zijn gedefinieerd door de gebruiker. Een lijst met configureerbare variabelen inclusief standaardwaarden en de alleen-lezen/statistiekvariabelen vindt u op de Netwatch CLI-referentiepagina. Controleer zeker of de standaardvariabelen geschikt zijn voor uw toepassing.

  • Voor alle probetypen is de variabele host verplicht, aangezien deze het adres definieert van het apparaat dat gemonitord moet worden.

  • Netwatch-probes kunnen scripts uitvoeren afhankelijk van statuswijzigingen van de probe, waardoor RouterOS de routerconfiguratie dynamisch kan aanpassen of meldingen kan versturen (zie voor meer informatie de scriptingdocumentatie). Netwatch ondersteunt drie scripttypen, die elk onder verschillende omstandigheden worden uitgevoerd:

    • up-script wordt uitgevoerd wanneer de status verandert van Unknown (afhankelijk van de variabele ignore-initial-up; zie de CLI Reference voor meer informatie) of Down naar Up;
    • down-script wordt uitgevoerd wanneer de status verandert van Unknown (afhankelijk van de ignore-initial-down variabele; zie de CLI Reference voor meer informatie) of Up naar Down;
    • test-script wordt bij elke probetest uitgevoerd.
  • Als er geen scripts voor de probe zijn opgegeven, is het nog steeds mogelijk om statuswijzigingen van de probe in het log te volgen. Identificatiegegevens van de probe en statuswijzigingen worden naar het log geschreven wanneer info-topic-logging is ingeschakeld. Gedetailleerde probestatistieken en -configuratie worden geschreven op het topicniveau debug.

  • Je kunt statistieken bekijken en deze variabelen in scripts gebruiken. Houd er rekening mee dat variabelen die "-" bevatten op deze manier geschreven moeten worden, bijvoorbeeld "done-tests" wordt $"done-tests"

  • Netwatch voert scripts uit als *sys-gebruiker, dus een globale variabele die in het Netwatch-script is gedefinieerd, kan niet worden gelezen door bijvoorbeeld een scheduler of andere gebruikers.

  • Netwatch is beperkt tot de read,write,test,reboot scriptpolicy's. Als de eigenaar van het script onvoldoende permissies heeft om een bepaald commando in het script uit te voeren, wordt het script niet uitgevoerd. Als het script ruimere policy's heeft dan read,write,test,reboot - dan wordt het script eveneens niet uitgevoerd. Zorg ervoor dat uw scripts de genoemde policy's niet overschrijden.

  • Het is mogelijk om de permissiecontrole voor RouterOS-scripts uit te schakelen onder het menu /system/scripts (scriptingdocumentatie). Dit is nuttig wanneer Netwatch onvoldoende permissies heeft om een script uit te voeren, hoewel dit de algehele beveiliging vermindert. Het wordt aanbevolen om in plaats daarvan de juiste permissies aan een script toe te kennen.

  • Simple-, ICMP-, HTTP- en TCP-connect-probes worden verzonden met de vlag "don't fragment" ingesteld. Bij een ICMP-probe kunt u packet-size instellen, wat in combinatie met de DF-vlag kan helpen bij path MTU discovery.

Eenvoudige probe

Verzendt periodiek een eenvoudig ICMP ping-verzoek om de beschikbaarheid van de host te controleren. Voor dit probetype gelden alleen de algemene probe-parameters.

Configuratievoorbeeld

Eenvoudige probe configuratie die de DNS dienst van Google controleert, met scripts die een statuswijziging van de probe loggen.

/tool/netwatch/add host=8.8.8.8 up-script=":log info \"Ping to 8.8.8.8 successful\"" down-script=":log info \"Ping to 8.8.8.8 failed\""

In dit voorbeeld is een eenvoudige probe geconfigureerd om te controleren of 8.8.8.8 bereikbaar is via ping. Wanneer de status van de probe verandert, wordt er afhankelijk van het type statuswijziging een logregel aangemaakt.

Hieronder ziet u hetzelfde configuratievoorbeeld weergegeven in de WinBox-weergave in plaats van in de CLI.

netwatch_01_simple_probe_example_winbox

In het logginggedeelte kunt u zien dat Netwatch het script heeft uitgevoerd. Het onderstaande voorbeeld toont de uitvoering van up-script en de statuswijziging van Netwatch. In dit geval moet logging voor het topic info zijn ingeschakeld om deze logregels te laten verschijnen.

[admin@MikroTik] > /log/print where message~"8.8.8.8"
 2026-06-10 14:48:17 netwatch,info event up [ type: simple, host: 8.8.8.8 ]
 2026-06-10 14:48:17 script,info Ping to 8.8.8.8 successful

ICMP-probe

Een geavanceerdere versie van het probetype simple dat eveneens ICMP-pakketten gebruikt om de status van de host te controleren. Vergeleken met het probetype simple maakt ICMP een complexere drempelconfiguratie mogelijk en kan het meerdere ICMP-pingpakketten sturen in plaats van slechts één.

Configuratievoorbeeld

Dit voorbeeld laat zien hoe u ICMP-probedrempels gebruikt; dit voorbeeld gebruikt de drempel thr-avg om de gemiddelde round trip time naar de server te monitoren.

/tool/netwatch/add host=8.8.8.8 type=icmp thr-avg=10ms up-script=":log info \"rtt average is \$\"rtt-avg\", threshold passed, ping to 8\
    .8.8.8 successful\"" down-script=":if (\$\"loss-percent\" < 85) do={ :log info \"rtt average i\
    s \$\"rtt-avg\", which is higher then threshold, please check connection\" } else={ :\
    log info \"Ping to 8.8.8.8 failed\"}"

De probe controleert of 8.8.8.8 bereikbaar is met ping en verifieert daarnaast dat de waarde rtt-avg kleiner is dan 10 ms. Zowel up-script als down-script loggen bij uitvoering de waarde rtt-avg, behalve wanneer down-script wordt geactiveerd door pakketverlies van 85% of hoger. Zo wordt onderscheid gemaakt tussen probe-fouten veroorzaakt door pakketverlies en fouten doordat de ingestelde drempelwaarde niet wordt gehaald.

Hieronder ziet u hetzelfde configuratievoorbeeld weergegeven in de WinBox-weergave in plaats van in de CLI.

netwatch_02_ICMP_probe_example_winbox

Het onderstaande voorbeeld toont de uitvoering van up-script en de statuswijziging van Netwatch. Zoals te zien is, wordt de gemiddelde RTT-waarde doorgegeven als een ruwe waarde in microseconden, dus houd hier rekening mee bij het schrijven van Netwatch-scripts.

 2026-06-17 10:31:01 netwatch,info event up [ type: icmp, host: 8.8.8.8 ]
 2026-06-17 10:31:01 script,info rtt average is 7686, threshold passed, ping to 8.8.8.8 successful

TCP-conn probe

Het probetype tcp-conn controleert of de router een TCP-verbinding tot stand kan brengen met een host op een specifieke TCP-poort. Hiermee kan een specifieke dienst op het apparaat worden bewaakt in plaats van de algemene beschikbaarheid van het apparaat via ICMP.

Configuratievoorbeeld

Dit voorbeeld gebruikt het probetype tcp-conn om te controleren of de DNS-poort van 8.8.8.8 operationeel is.

/tool/netwatch/add host=8.8.8.8 type=tcp-conn port=53 up-script=":log info \"TCP handshake to 8.8.8.8:53 successful\"" down-script=":log info \"TCP handshake to 8.8.8.8:53 failed\""

De tcp-conn-probe controleert specifiek of TCP-poort 53 (DNS-poort) de TCP-handshake met de router kan voltooien.

Hieronder ziet u hetzelfde configuratievoorbeeld weergegeven in de WinBox-weergave in plaats van in de CLI.

netwatch_03_TCP_probe_example_winbox

HTTP-GET-probe

http-get-probe voert een HTTP-GET-verzoek uit naar een opgegeven host en verifieert de teruggegeven HTTP-statuscode en de responstijd. In tegenstelling tot ICMP- of TCP-probes valideert deze de beschikbaarheid op applicatieniveau, waarmee wordt gewaarborgd dat de webservice daadwerkelijk reageert. Een probe wordt als geslaagd beschouwd wanneer de responscode binnen het geconfigureerde http-codes-bereik valt en de responstijd binnen de geconfigureerde drempelwaarden ligt. Wordt vaak gebruikt voor het monitoren van de beschikbaarheid van een website of API.

Configuratievoorbeeld

In dit voorbeeld probeert de probe een HTTP-antwoord van mikrotik.com op 159.148.172.205 te krijgen en logt hij de responscode.

/tool/netwatch/add host=159.148.172.205 type=http-get down-script=":log info \"Probe down, response code: \$\"http-status-code\"\"" up-script=":log info \"Probe up, response code: \$\"http-status-code\"\""

Hieronder ziet u hetzelfde configuratievoorbeeld weergegeven in de WinBox-weergave in plaats van in de CLI.

netwatch_04_httpget_probe_example_winbox

In dit logvoorbeeld ziet u dat de probe down ging omdat hij niet voldeed aan de statuscodedrempel van 100-299 en code 302 ontving, doordat mikrotik.com de probe naar HTTPS probeerde door te sturen.

 2026-06-19 14:09:26 netwatch,info event down [ type: http_get, host: 159.148.172.205 ]
 2026-06-19 14:09:26 script,info Probe down, response code: 302

HTTPS-GET-probe

Het probetype https-get is identiek aan het probetype http-get, met als enige verschil dat het HTTPS gebruikt in plaats van HTTP. Hierdoor kan de probe bijvoorbeeld aanvullende TLS/SSL-certificaatvalidatiecontroles uitvoeren.

Configuratievoorbeeld

In dit voorbeeld bewaakt de probe de dienst www-ssl op de router zelf. De dienst www-ssl wordt gebruikt om HTTPS-toegang tot de router te bieden via WebFig. (meer informatie)

 /tool/netwatch/add host=127.0.0.1 type=https-get down-script=":log info \"HTTPS WebFig is disabled\"" up-script=":log info \"HTTPS WebFig is enabled\""

De probe probeert een HTTPS-antwoord op te halen van het lokale adres van de router (127.0.0.1). Om deze probe correct te laten werken, moet u ervoor zorgen dat de www-ssl-service is geconfigureerd met een geldig TLS/SSL-certificaat.

Hieronder ziet u hetzelfde configuratievoorbeeld weergegeven in de WinBox-weergave in plaats van in de CLI.

netwatch_05_httpsget_probe_example_winbox

DNS-probe

Het probetype dns controleert of een opgegeven domeinnaam kan worden omgezet door een DNS-server. Als de DNS-server een geldig record voor de opgevraagde domeinnaam teruggeeft, wordt de probe als Up beschouwd.

Configuratievoorbeeld

In dit configuratievoorbeeld controleert de probe op een A-record voor mikrotik.com via de publieke DNS-server van Google.

 /tool/netwatch/add host=mikrotik.com type=dns dns-server=8.8.8.8 record-type=A down-script=":log info \"No A type record found\"" up-script=":log info \"A type record found: \$ip\""

Zoals getoond is host ingesteld op mikrotik.com, is dns-server geconfigureerd als 8.8.8.8 om de DNS-server die in /ip/dns is geconfigureerd te overschrijven, en is record-type ingesteld op A om IPv4-adresrecords op te vragen.

Hieronder ziet u hetzelfde configuratievoorbeeld weergegeven in de WinBox-weergave in plaats van in de CLI.

netwatch_06_dns_probe_example_winbox

Het onderstaande voorbeeld toont de uitvoering van up-script en de statuswijziging van Netwatch.

 2026-06-29 10:10:55 netwatch,info event up [ type: dns, host: mikrotik.com ]
 2026-06-29 10:10:55 script,info A type record found: 159.148.172.205

Bron

Bijgewerkt op 2026-08-22.