需求:使用nagios服务需要对一台思科交换机的24端口进行流量监控,当流量低于2MB/s时,发送报警;当流量高于3MB/s时,报警取消;当流量介于2MB/s-3MB/s时,处于警告warning状态。


操作方法:


第一:编写脚本文件:

vim /usr/lib64/nagios/plugins/check_traffic_less.sh

#!/bin/bashRXpre=$(/usr/bin/snmpwalk-v2c-cpublic10.10.3.242IF-MIB::ifInOctets.10124|awk'{print$4}')sleep1RXnext=$(/usr/bin/snmpwalk-v2c-cpublic10.10.3.242IF-MIB::ifInOctets.10124|awk'{print$4}')RX=$((${RXnext}-${RXpre}))if[[$RX-lt2097152]];thenRX=$(echo$RX|awk'{print$1/1048576"MB/s"}')echo"critical,RXis$RX"exit2elif[[$RX-gt3145728]];thenRX=$(echo$RX|awk'{print$1/1048576"MB/s"}')echo"ok,RXis$RX"exit0elseRX=$(echo$RX|awk'{print$1/1048576"MB/s"}')echo"warning,RXis$RX"exit1fi

第二:添加权限
chmod+xcheck_traffic_less.sh

第三:配置commands.cfg文件
definecommand{
command_namecheck_traffic_less
command_line$USER1$/check_traffic_less.sh
}

第四:配置switch.cfg文件
defineservice{
usegeneric-service,srv-pnp;Inheritvaluesfromatemplate
host_nameH19_Unicom_Access_Switch_3.242
service_descriptioncheck_traffice_less_g0/24
check_commandcheck_traffic_less
}

第五:重新加载服务::
servicenagiosreload

结果截图: