netwatch介绍与用法,RouterOS-IP检测并执行对应脚本

ROS的netwatch功能用于监控某个内网IP或公网IP,当我们监控的IP up或down(在线或不在线)两个状态时执行对应脚本。

Winbox操作:

案例1:监控内网某一个服务器的在线状态,如果不在线就邮件通知管理员。
案例2:提前做一条静态路由,当某条接入线路故障时通知管理员。
案例3:监控主路由,当主路由出问题时启动相关脚本来启用备用路由和相关设置等。


Netwatch的核心功能

  1. 周期性检查主机状态
    Netwatch通过ICMP(ping)协议来检测指定IP地址的连通性,自动记录状态变化。
  2. 触发动作脚本
    可以在主机上线(Up)或下线(Down)时,分别执行不同的命令或脚本。这些脚本可用于:
    • 发送通知(如发送邮件或Telegram消息)
    • 修改路由配置
    • 重启某个服务
    • 记录日志信息
  3. 灵活的应用场景
    Netwatch适用于各种网络运维场景,帮助管理员在无人值守的情况下自动响应问题。例如:
    • 监控服务器是否可达
    • 检测网络设备掉线并通知管理员
    • 路由切换或备份线路激活

Netwatch的配置步骤

1. 进入Netwatch界面

在WinBox或WebFig中,打开 Tools -> Netwatch,即可看到Netwatch配置页面。

2. 添加Netwatch规则

点击 Add (+) 按钮,填写以下参数:

  • Host: 需要监控的目标IP地址(例如 8.8.8.8)。
  • Interval: 执行ping请求的时间间隔,单位为秒(默认值为 1分钟,可以根据需要调整)。
  • Timeout: 判断主机超时的阈值,单位为毫秒。
  • Up: 当主机恢复上线(ping可达)时要执行的脚本或命令。
  • Down: 当主机下线(ping不可达)时要执行的脚本或命令。

示例配置

假设你要监控 192.168.1.1,并在状态变化时记录日志,可以这样配置:

  • Host: 192.168.1.1
  • Interval: 00:00:30(每30秒检查一次)
  • Timeout: 1000 ms

UP时

/log info "Host 192.168.1.1 is UP"

DOWN时

/log warning "Host 192.168.1.1 is DOWN"

其它应用场景

1. 发送邮件通知

在主机下线时通过RouterOS的内置 email 工具发送通知给管理员。
Down脚本示例

/tool e-mail send to="admin@example.com" subject="Host 192.168.1.1 DOWN" body="The host 192.168.1.1 is unreachable!"
/log warning "Email notification sent: Host 192.168.1.1 is DOWN"

2. 激活备用路由

当主机不可达时,动态更改路由以激活备用链路。
Down脚本示例

/ip route disable [find dst-address=0.0.0.0/0 gateway=192.168.1.1]
/ip route enable [find dst-address=0.0.0.0/0 gateway=10.0.0.1]
/log warning "Primary route disabled, backup route enabled."

3. 自动重启某个接口或设备

如果监控到网络不可达,自动重启某个接口或网络设备。
Down脚本示例

/interface disable ether1
:delay 5s
/interface enable ether1
/log warning "Ether1 interface restarted."

查看Netwatch状态

配置完成后,你可以通过 Tools -> Netwatch 页面查看监控结果:

  • Host: 监控的IP地址
  • Status: 当前主机状态(Up/Down)
  • Since: 当前状态持续的时间
  • Times: 监控到的状态变更次数

使用Netwatch的注意事项

  1. 合理配置间隔时间
    Ping频率设置过高会增加网络负担,通常建议30秒到5分钟之间,根据需求调整。
  2. 避免执行过多脚本
    如果Down/Up状态频繁切换,触发脚本会频繁执行,可能导致性能问题。因此,脚本中可以增加状态变化判断条件。
  3. 结合其他工具增强效果
    Netwatch可以与RouterOS的 SchedulerEmail工具 结合使用,实现更复杂的自动化管理。

总结

Netwatch 是MikroTik RouterOS中非常实用的监控工具,它能够帮助网络管理员快速检测设备的状态变化,并自动执行响应动作。无论是故障通知、自动切换路由,还是重启网络服务,Netwatch都能极大提高网络运维效率。

通过灵活运用Netwatch与RouterOS脚本,你可以轻松打造一个更智能、更自动化的网络管理平台。