Networking 如何在zabbix中监控网卡链路状态
我需要监控zabbix中的物理接口链接状态,并想知道是否有内部zabbix检查,或者我需要编写自己的。如果是,如何确定网卡中是否插入了电缆,以及接口中是否存在电压。否,没有此类检查。您可以使用。至于如何操作,则取决于运行代理的操作系统。在linux上,您可以使用mii工具或ethtool定期检查。如果使用NetworkManager,也可以编写脚本并连接到D-Bus。或者您可以监视系统日志,驱动程序通常会将链接检测记录到内核日志 在窗户上我不知道。可能netsh或ipconfig与一些findstr可以让您轮询状态。或者powershell。询问serverfault,我打赌你会得到准确的答案。所以是的(即使在Zabbix 3.0中),而且安装起来相当容易,至少在现代Linux机器上是这样。通过参数化UserParameter(如果您遵循…),可以定义单个参数以支持对多个NIC的监控;以下是方法:Networking 如何在zabbix中监控网卡链路状态,networking,monitoring,zabbix,Networking,Monitoring,Zabbix,我需要监控zabbix中的物理接口链接状态,并想知道是否有内部zabbix检查,或者我需要编写自己的。如果是,如何确定网卡中是否插入了电缆,以及接口中是否存在电压。否,没有此类检查。您可以使用。至于如何操作,则取决于运行代理的操作系统。在linux上,您可以使用mii工具或ethtool定期检查。如果使用NetworkManager,也可以编写脚本并连接到D-Bus。或者您可以监视系统日志,驱动程序通常会将链接检测记录到内核日志 在窗户上我不知道。可能netsh或ipconfig与一些finds
/etc/zabbix/zabbix\u agentd.d/
cat > /etc/zabbix/zabbix_agentd.d/userparameter_niclink.conf << EOF
UserParameter=net.if.link[*],cat /sys/class/net/$1/carrier
EOF
cat>/etc/zabbix/zabbix\u agentd.d/userparameter\u niclink.conf@sxc731是正确的,在net中没有这样的现有项。如果
键
如果要使此解决方案具有通用性,可以使用发现规则来发现网络接口。这将找到所有接口,也包括虚拟接口、网桥等。但是您可以使用正则表达式只匹配物理接口。在我的工作中,我在许多服务器上部署了多个操作系统。我的做法如下:
创建或使用现有的Zabbix模板
在管理->常规菜单中,转到正则表达式并执行以下操作:
添加新的正则表达式物理网络接口发现
使用正则表达式^em[0-9]{1,}p[0-9]{1,}p[0-9]{1,}eth[0-9]{1,}en[0-9]{1,}$
net.if.discovery
为模板创建发现规则{PHYSNET}
和正则表达式@物理网络接口发现
创建筛选器net.if.link[{PHYSNET}]
的项目原型,并在需要时触发cat/sys/class/net/$1/carrier
作为用户参数存在一个问题。如果网络接口关闭(例如,当ip-link设置eth0关闭时
),则cat
命令的结果是无效参数
我个人对UserParameter使用一行代码:
UserParameter=net.if.link[*], if [ $(cat /sys/class/net/$1/operstate) = "up" ]; then cat /sys/class/net/$1/carrier; else echo "0"; fi;
资源:
/etc/zabbix/zabbix_agentd.d/userparameter_niclink.conf
中使用以下行:userparameter=net.if.link[*],if[-r/sys/class/net/$1/carrier];然后是cat/sys/class/net/$1/承运人;否则为0;fi
这可防止项目进入“不支持”状态。