#!/bin/bash
## Author Da e
## 修改对应设备<192.168.x.x> <安全码> 和oid序号 自己查询 使用snmpwalk工具
##修改webhook机器人告警地址
webhook_url="https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxxxxxxxxxx"
# VPN上行流量(纯数字)kb
vpnupflowkb=`snmpwalk -v 2c -c <安全码> <192.168.x.x> 1.3.6.1.4.1.35047.2.10.8 | awk '{print $(NF-2)}'|grep -oP '\d+\.\d+'`
# VPN下行流量(纯数字)kb
vpndownflowkb=`snmpwalk -v 2c -c <安全码> <192.168.x.x> 1.3.6.1.4.1.35047.2.10.9 | awk '{print $(NF-2)}'|grep -oP '\d+\.\d+'`
# AD上行流量(纯数字)MB
adupflowmb=`snmpwalk -v 2c -c <安全码> <192.168.x.x> 1.3.6.1.4.1.35047.2.2.5.0 | awk -F'STRING: ' '{print $2}' | awk '{print $1}' |tr -d '\"'`
# AD下行流量(纯数字)MB
addownflowmb=`snmpwalk -v 2c -c <安全码> <192.168.x.x> 1.3.6.1.4.1.35047.2.2.6.0 | awk -F'STRING: ' '{print $2}' | awk '{print $1}' |tr -d '\"'`
##转换单位
adupflowkb=$(echo "$adupflowmb * 1024" | bc -l)
addownflowkb=$(echo "$addownflowmb * 1024" | bc -l)
# vpnupflowmb=$(echo "$vpnupflowkb / 1024" | bc -l)
# vpndownflowmb=$(echo "$vpndownflowkb / 1024" | bc -l)
vpnupflowmb=$(echo "scale=2; $vpnupflowkb / 1024" | bc )
vpndownflowmb=$(echo "scale=2; $vpndownflowkb / 1024" | bc )
time=$(date '+%Y-%m-%d %H:%M:%S')
message=" $time \n VPN上行流量${vpnupflowkb}kb VPN下行流量${vpndownflowkb}kb\n AD上行流量${adupflowmb}MB AD下行流量${addownflowmb}MB"
echo "$time | IDC流量监控 | VPN上行流量${vpnupflowkb}kb VPN下行流量${vpndownflowkb}kb | AD上行流量${adupflowmb}MB AD下行流量${addownflowmb}MB" >> /data/idc_flow.log
###流量小于10k告警
if [[ $(echo "$vpnupflowkb <= 100" | bc -l) -eq 1 ]]
then
message=" $time \n vpn设备上行设备流小于100kb 当前指标:${vpnupflowkb}kb "
echo $message
curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**CloudMA IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi
if [[ $(echo "$vpndownflowkb <= 100" | bc -l) -eq 1 ]]
then
message=" $time \n vpn设备下行设备流小于100kb 当前指标:${vpndownflowkb}kb "
echo $message
curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**CloudMA IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi
if [[ $(echo "$adupflowkb <= 100" | bc -l) -eq 1 ]]
then
message=" $time \n AD设备上行设备流小于100kb 当前指标:${adupflowkb}kb "
echo $message
curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**CloudMA IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi
if [[ $(echo "$addownflowkb <= 100" | bc -l) -eq 1 ]]
then
message=" $time \n AD设备下行设备流小于100kb 当前指标:${addownflowkb}kb "
echo $message
curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**CloudMA IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi
IDC网络设备监控脚本-FLOW流监控
于 2023-12-06 11:10:12 首次发布