当我的 NIC 链接速度下降时,如何运行脚本?

当我的 NIC 链接速度下降时,如何运行脚本?

我遇到了以太网从 10 GbE 下降到 1 GbE 甚至有时下降到 100 Mbps 的问题。

  1. 当这种情况发生时,我希望通过 healthchecks.io 或电子邮件等方式收到通知。
  2. 我想再次切换端口以尝试强制它以 10 GbE 速度重新连接。

这是在一台未袭击的机器上。

我怎样才能实现这个目标?

答案1

改变链接速度可能会触发 udev 事件或类似事件,但我首先想到的解决方案是使用用户脚本插件。您可以使用 来监控接口的链接速度ethtool,因此我编写了一个快速脚本来检查我在 6.11.5 unraid 盒子上测试的速度。

#!/bin/bash

IFACE=eth0
SPEED=$(ethtool $IFACE | grep Speed | awk '{print $2}')

if [ $SPEED = "10000Mb/s" ]; then
    echo Correct Speed
else
    echo Incorrect speed
fi

您需要找到一个以您喜欢的方式通知您的命令,也许curl使用某些 Web API 调用就可以了。此示例适用于千兆位,但如果您想将其用于任何其他速度,则需要将其更新为您感兴趣的速度。

要尝试重置界面,您可以尝试类似 的操作ip link set $IFACE down; ip link set $IFACE up,但我不知道这样做是否有用。也许您可以等到问题出现,然后手动输入以尝试。

相关内容