ROS的netwatch功能用于监控某个内网IP或公网IP,当我们监控的IP up或down(在线或不在线)两个状态时执行对应脚本。
Winbox操作:
案例1:监控内网某一个服务器的在线状态,如果不在线就邮件通知管理员。
案例2:提前做一条静态路由,当某条接入线路故障时通知管理员。
案例3:监控主路由,当主路由出问题时启动相关脚本来启用备用路由和相关设置等。
Netwatch的核心功能
- 周期性检查主机状态
Netwatch通过ICMP(ping)协议来检测指定IP地址的连通性,自动记录状态变化。 - 触发动作脚本
可以在主机上线(Up)或下线(Down)时,分别执行不同的命令或脚本。这些脚本可用于:- 发送通知(如发送邮件或Telegram消息)
- 修改路由配置
- 重启某个服务
- 记录日志信息
- 灵活的应用场景
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的注意事项
- 合理配置间隔时间
Ping频率设置过高会增加网络负担,通常建议30秒到5分钟之间,根据需求调整。 - 避免执行过多脚本
如果Down/Up状态频繁切换,触发脚本会频繁执行,可能导致性能问题。因此,脚本中可以增加状态变化判断条件。 - 结合其他工具增强效果
Netwatch可以与RouterOS的 Scheduler 和 Email工具 结合使用,实现更复杂的自动化管理。
总结
Netwatch 是MikroTik RouterOS中非常实用的监控工具,它能够帮助网络管理员快速检测设备的状态变化,并自动执行响应动作。无论是故障通知、自动切换路由,还是重启网络服务,Netwatch都能极大提高网络运维效率。
通过灵活运用Netwatch与RouterOS脚本,你可以轻松打造一个更智能、更自动化的网络管理平台。