在运维工作中,要对每一台服务器的网卡速率进行监控。但是如果项目很多,网卡取名规则不统一,就会导致不管zabbix还是其他的监控系统,对网卡的抓取都不能很精准和方便。所以自己写了一个获取网卡脚本,并且对速率进行监控。
#!/bin/bash
nets=()
results=()
#get the network card
for dir in `cd /sys/class/net/ && ls`;do
if [ `grep "up" /sys/class/net/$dir/operstate &>/dev/null && echo $dir |grep -vE "em|local"` ]; then
nets=("${nets[@]}" "$dir")
fi
done
#judge the network speed and store in array