IDC网络设备监控脚本-负载指标监控

#!/bin/bash
## Author Da e
## 修改对应设备 <192.168.x.x> ip 和 oid序号 自己查询 使用snmpwalk工具
webhook_url="https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxx"

##测试机器人
#webhook_url="https://open.feishu.cn/open-apis/bot/v2/hook/cb8419e6-5d30-4ab0-adf9-790027dd3d9e"

################################H3C S5800V2 交换机:<192.168.x.x>################################
# 交换机cpu负载 纯数字 单位百分比
swich_cpuused=`snmpwalk -v 2c -c <安全码>  <192.168.x.x> 1.3.6.1.4.1.25506.2.6.1.1.1.1.6.122 | awk '{print $NF}' | head -n 1`


# 交换机内存 纯数字 单位百分比
swich_memused=`snmpwalk -v 2c -c <安全码>  <192.168.x.x> 1.3.6.1.4.1.25506.2.6.1.1.1.1.8.122 | awk '{print $NF}' | head -n 1`

# 交换机磁盘剩余 纯数字 单位bytes
swich_diskfree=`snmpwalk -v 2c -c <安全码>  <192.168.x.x> 1.3.6.1.4.1.25506.2.5.1.1.4.1.1.5.7995393 | awk '{print $NF}' | head -n 1`

################################深信服 vpn <192.168.x.x>######################################
# vpn 磁盘使用率
vpn_diskused_sdb1=`snmpwalk -v 2c -c <安全码>  <192.168.x.x> 1.3.6.1.4.1.35047.1.5.1.6.1 | awk '{print $NF}' |tr -d '"\%"' | head -n 1`
vpn_diskused_sdb2=`snmpwalk -v 2c -c <安全码>  <192.168.x.x> 1.3.6.1.4.1.35047.1.5.1.6.2 | awk '{print $NF}' |tr -d '"\%"' | head -n 1`
vpn_diskused_sdb3=`snmpwalk -v 2c -c <安全码>  <192.168.x.x> 1.3.6.1.4.1.35047.1.5.1.6.3 | awk '{print $NF}' |tr -d '"\%"' | head -n 1`
vpn_diskused_sdb5=`snmpwalk -v 2c -c <安全码>  <192.168.x.x> 1.3.6.1.4.1.35047.1.5.1.6.4 | awk '{print $NF}' |tr -d '"\%"' | head -n 1`
vpn_diskused_sdb6=`snmpwalk -v 2c -c <安全码>  <192.168.x.x> 1.3.6.1.4.1.35047.1.5.1.6.5 | awk '{print $NF}' |tr -d '"\%"' | head -n 1`

# vpn  cpu使用率(5m) 
vpn_cpuused=`snmpwalk -v 2c -c <安全码>  <192.168.x.x> 1.3.6.1.4.1.35047.1.6.2 | awk '{print $NF}' |tr -d '"\%"' | head -n 1`

# vpn  内存剩余(mb)
vpn_memfree=`snmpwalk -v 2c -c <安全码>  <192.168.x.x> 1.3.6.1.4.1.35047.1.4 | awk '{print $(NF-1)}' |tr -d '"\%"' | head -n 1`

################################ 深信服 AD 负载均衡 ###########################################
# AD cpu使用率(5m)
ad_cpuused=`snmpwalk -v 2c -c <安全码>  <192.168.x.x> 1.3.6.1.4.1.35047.1.9.1.4.1 | awk -F'STRING: "' '{print $2}' |head -n 1`

# AD mem使用率(5m)
ad_memused=`snmpwalk -v 2c -c <安全码>  <192.168.x.x> 1.3.6.1.4.1.35047.2.2.19.0 | awk '{print $(NF)}' |head -n 1`

# AD  磁盘使用率(5m)
ad_diskused_sda1=`snmpwalk -v 2c -c <安全码>  <192.168.x.x> 1.3.6.1.4.1.35047.1.5.1.6.1 | awk '{print $NF}' |tr -d '"\%"' | head -n 1`
ad_diskused_sda2=`snmpwalk -v 2c -c <安全码>  <192.168.x.x> 1.3.6.1.4.1.35047.1.5.1.6.2 | awk '{print $NF}' |tr -d '"\%"' | head -n 1`
ad_diskused_sda5=`snmpwalk -v 2c -c <安全码>  <192.168.x.x> 1.3.6.1.4.1.35047.1.5.1.6.3 | awk '{print $NF}' |tr -d '"\%"' | head -n 1`
ad_diskused_sda6=`snmpwalk -v 2c -c <安全码>  <192.168.x.x> 1.3.6.1.4.1.35047.1.5.1.6.4 | awk '{print $NF}' |tr -d '"\%"' | head -n 1`
ad_diskused_sda7=`snmpwalk -v 2c -c <安全码>  <192.168.x.x> 1.3.6.1.4.1.35047.1.5.1.6.5 | awk '{print $NF}' |tr -d '"\%"' | head -n 1`
ad_diskused_sda8=`snmpwalk -v 2c -c <安全码>  <192.168.x.x> 1.3.6.1.4.1.35047.1.5.1.6.6 | awk '{print $NF}' |tr -d '"\%"' | head -n 1`
ad_diskused_sda9=`snmpwalk -v 2c -c <安全码>  <192.168.x.x> 1.3.6.1.4.1.35047.1.5.1.6.7 | awk '{print $NF}' |tr -d '"\%"' | head -n 1`
ad_diskused_shm=`snmpwalk -v 2c -c <安全码>  <192.168.x.x> 1.3.6.1.4.1.35047.1.5.1.6.8 | awk '{print $NF}' |tr -d '"\%"' | head -n 1`


time=$(date '+%Y-%m-%d %H:%M:%S')
swich_diskfree_mb=$(echo "scale=2;$swich_diskfree/1024/1024" | bc)

##记录数据
echo " $time IDC监控 | 交换机指标:cpu使用率:${swich_cpuused}% 内存使用率:${swich_memused}% 磁盘剩余:${swich_diskfree_mb}MB   | vpn指标:cpu使用率:${vpn_cpuused}% 内存剩余:${vpn_memfree}MB 磁盘使用率: sdb1:${vpn_diskused_sdb1}% sdb2:${vpn_diskused_sdb2}% sdb3:${vpn_diskused_sdb3}% sdb5:${vpn_diskused_sdb1}% sdb6:${vpn_diskused_sdb1}% | AD负载均衡指标:cpu使用率:${ad_cpuused}% 内存使用ç:${ad_memused}% 磁盘使用率: sda1:${ad_diskused_sda1}% sda2:${ad_diskused_sda2}% sda5:${ad_diskused_sda5}% sda6:${ad_diskused_sda6}% sda7:${ad_diskused_sda7}% sda8:${ad_diskused_sda8}% sda9:${ad_diskused_sda9}% shm:${ad_diskused_shm}% " >> /data/idc_snmp.log



## 判断数据
##大于等于指标
##################交换机
if [[ $(echo "$swich_cpuused >= 80" | bc -l) -eq 1 ]]
then
   message=" $time \n 交换机cpu使用率超过80% 当前指标:${swich_cpuused}% "
  
   curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi

if [[ $(echo "$swich_memused >= 90" | bc -l) -eq 1 ]]
then
   message=" $time \n 交换机内存使用率超过90% 当前指标:${swich_memused}% "
  
   curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi

swich_diskfree_mb_alert="100.00"
if (( $(echo "$swich_diskfree_mb < $swich_diskfree_mb_alert" | bc -l) ))
then
   message=" $time \n 交换机磁盘剩余不足500MB 当前指标:${swich_diskfree_mb}MB  "
  
   curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi
##################vpn
if [[ $(echo "$vpn_cpuused >= 90" | bc -l) -eq 1 ]]
then
   message=" $time \n vpn设备cpu使用率超过80% 当前指标:${vpn_cpuused}% "
  
   curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi

if [[ $(echo "$vpn_memfree <= 100" | bc -l) -eq 1 ]]
then
   message=" $time \n vpn设备内存剩余小于100MB 当前指标:${vpn_memfree}MB "
  
   curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi

if [[ $(echo "$vpn_diskused_sdb1 >= 90" | bc -l) -eq 1 ]]
then
   message=" $time \n VPN设备磁盘sdb1使用率超过90% 当前指标:${vpn_diskused_sdb1}% "
  
   curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi
if [[ $(echo "$vpn_diskused_sdb2 >= 90" | bc -l) -eq 1 ]]
then
   message=" $time \n VPN设备磁盘sdb2使用率超过90% 当前指标:${vpn_diskused_sdb2}% "
  
   curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi

if [[ $(echo "$vpn_diskused_sdb3 >= 90" | bc -l) -eq 1 ]]
then
   message=" $time \n VPN设备磁盘sdb3使用率超过90% 当前指标:${vpn_diskused_sdb3}% "
  
   curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi

if [[ $(echo "$vpn_diskused_sdb5 >= 90" | bc -l) -eq 1 ]]
then
   message=" $time \n VPN设备磁盘sdb5使用率超过90% 当前指标:${vpn_diskused_sdb5}% "
  
   curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi

if [[ $(echo "$vpn_diskused_sdb6 >= 90" | bc -l) -eq 1 ]]
then
   message=" $time \n VPN设备磁盘sdb6使用率超过90% 当前指标:${vpn_diskused_sdb6}% "
  
   curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi

##################AD负载均衡
if [[ $(echo "$ad_cpuused >= 80" | bc -l) -eq 1 ]]
then
   message=" $time \n AD设备cpu使用率超过80% 当前指标:${ad_cpuused}% "
   curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi

if [[ $(echo "$ad_memused >= 90" | bc -l) -eq 1 ]]
then
   message=" $time \n AD设备内存使用率超过90% 当前指标:${ad_memused}% "
  
   curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi

if [[ $(echo "$ad_diskused_sda1 >= 90" | bc -l) -eq 1 ]]
then
   message=" $time \n AD设备磁盘sda1使用率超过90% 当前指标:${ad_diskused_sda1}% "
  
   curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi
if [[ $(echo "$ad_diskused_sda2 >= 90" | bc -l) -eq 1 ]]
then
   message=" $time \n AD设备磁盘sda2使用率超过90% 当前指标:${ad_diskused_sda2}% "
  
   curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi

if [[ $(echo "$ad_diskused_sda5 >= 90" | bc -l) -eq 1 ]]
then
   message=" $time \n AD设备磁盘sda5使用率超过90% 当前指标:${ad_diskused_sda5}% "
  
   curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi

if [[ $(echo "$ad_diskused_sda6 >= 90" | bc -l) -eq 1 ]]
then
   message=" $time \n AD设备磁盘sda6使用率超过90% 当前指标:${ad_diskused_sda6}% "
  
   curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi

if [[ $(echo "$ad_diskused_sda7 >= 90" | bc -l) -eq 1 ]]
then
   message=" $time \n AD设备磁盘sda7使用率超过90% 当前指标:${ad_diskused_sda7}% "
  
   curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi

if [[ $(echo "$ad_diskused_sda8 >= 90" | bc -l) -eq 1 ]]
then
   message=" $time \n AD设备磁盘sda8使用率超过90% 当前指标:${ad_diskused_sda8}% "
  
   curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi
if [[ $(echo "$ad_diskused_sda9 >= 90" | bc -l) -eq 1 ]]
then
   message=" $time \n AD设备磁盘sda9使用率超过90% 当前指标:${ad_diskused_sda9}% "
  
   curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi
if [[ $(echo "$ad_diskused_shm >= 90" | bc -l) -eq 1 ]]
then
   message=" $time \n AD设备磁盘sdm使用率超过90% 当前指标:${ad_diskused_shm}% "
  
   curl -H "Content-Type: application/json" -X POST -d '{"msg_type":"text","content":{"text":"**IDC网络设备告警**\n\n'"$message"'","mention_all":false}}' $webhook_url
fi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大鹅i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值