Monit网络检查配置语法错误求助:替换x后仍报错
解决Monit 5.3.2网络检查配置的语法错误问题
你这是踩了Monit版本差异的坑!报错根本不是x的问题,而是Monit 5.3.2(较旧版本)的check network语法必须用with interface关键字,而不是你直接写的interface。
在Monit 5.3.x系列中,网络检查的正确语法结构是:
check network <自定义名称> with interface <网卡接口名>
后续的Monit版本(比如5.10及以上)简化了语法,允许直接用interface,但你的旧版本不支持这个写法。Monit的解析器误把语法错误的位置指向了x,才让你误以为是名称的问题。
给你调整后的正确配置,建议把每个条件拆成单独一行,既易读又能避免解析问题:
check network main_interface with interface enp2s0 if changed link then alert if saturation > 90% then alert if download > 90 MB/s then alert if total upload > 100 GB in last hour then alert
你可以把main_interface换成任何你喜欢的合法名称(比如enp2s0_monitor),只要是没有空格或特殊字符的标识符就行。
配置修改后,先验证语法是否正确:
monit -t
如果输出Control file syntax OK,就说明没问题,接着重启Monit服务生效:
sudo service monit restart
内容的提问来源于stack exchange,提问作者Crenor
相关产品推荐
相关产品推荐

