作者:邓聪聪

#!/bin/sh
Date=$(date +%F_%T)
iplist=`cat ip.txt |awk '{print $1}'`
snmp="hjsz-snmp"
#Name=/root/test/name.txt
Descr=/root/test/descr.txt
#Alias=/root/test/Alias.txt
Status_befor=/root/test/Tmp_status.txt
Status_now=/root/test/Status_now.txt
Tmp_chg_id=/root/test/tmp_chg.txt while true
do
for ip in $iplist
do
{
#首次获取接口状态
snmpwalk -v 2c -c $snmp $ip ifOperStatus >$Status_befor.$ip
sleep
while true
do #再次获取接口状态
snmpwalk -v 2c -c $snmp $ip ifOperStatus >$Status_now.$ip
cat $Status_now.$ip $Status_befor.$ip | sort -nr | uniq -c | grep "1 IF-MIB" > $Tmp_chg_id.$ip
if [ $? -eq ];then
for i in `cat $Tmp_chg_id.$ip |awk -F'.' '{print $2}' | awk '{print $1}' | sort -nr | uniq`
do
#获取当前设备OID值的接口
snmpwalk -v 2c -c $snmp $ip ifDesc >$Descr
#获取初始的接口状态
now_stat=`cat $Status_now.$ip |grep "ifOperStatus.$i " | awk '{print $NF}'`
#获取当前的接口状态
now_stat=`cat $Status_now.$ip |grep "ifOperStatus.$i " | awk '{print $NF}' |awk -F '(' '{print $1}'`
#获取当前设备OID值的接口名称
sw_port=`cat $Descr | grep "ifDescr.$i " | awk '{print $NF}'`
#获取当前设备OID值的设备名称
sysname=`snmpwalk -v 2c -c $snmp $ip SNMPv2-MIB::sysName. |awk '{print $4}'`
#获取当前设备OID值的描述信息
sysalias=`snmpwalk -v 2c -c $snmp $ip ifAlias |grep "ifAlias.$i " | awk '{print $NF}'`
echo "$sysname|$sw_port|$now_stat|$sysalias"
done
fi
break
done
} &
wait
done
sleep
done

利用shell简单监控网络设备的接口状态发出告警的更多相关文章

  1. 03: shell简单监控脚本

    1.1 监控apache web server #! /bin/bash # apache netstat -anpt | grep 80 &> /dev/null if [ $? -e ...

  2. zabbix利用percona-toolkit工具监控Mysql主从同步状态

    一.下载percona-toolkit工具包 percona-toolkit是一组高级命令行工具的集合,可以查看当前服务的摘要信息,磁盘检测,分析慢查询日志,查找重复索引,实现表同步等等. [root ...

  3. 利用shell脚本监控目录内文件改动

    #! /bin/bash webroot="/home/www/" cp /dev/null rsync_file if [ ! -f   file.md5 ];then      ...

  4. shell简单监控脚本模板

    #!/bin/bash host=127.0.0.1user=adminpassword='xx'port=6032x=0check_proxy(){v=$(mysql -N -u$user -p$p ...

  5. 监控Linux服务器网站状态的SHELL脚本

    1,监控httpd状态码的shell脚本代码. #!/bin/sh #site: www.jquerycn.cn # website[0]=www.jquerycn.cn/chuzu/' #网站1 m ...

  6. 用 shell 脚本做 restful api 接口监控

    问题的提出 基于历史原因,公司有一个"三无"采集服务--无人员.无运维.无监控--有能力做的部门不想接.接了的部门没能力.于是就一直这样裸奔,直到前几天一个依赖于这个采集服务的大数 ...

  7. go 利用orm简单实现接口分布式锁

    在开发中有些敏感接口,例如用户余额提现接口,需要考虑在并发情况下接口是否会发生问题.如果用户将自己的多条提现请求同时发送到服务器,代码能否扛得住呢?一旦没做锁,那么就真的会给用户多次提现,给公司带来损 ...

  8. shell脚本监控网站状态

    shell脚本监控网站状态 #!/bin/sh date=`date +"%Y%m%d-%H%M"` title="status" contentFail=&q ...

  9. 利用shell监控cpu、磁盘、内存使用率

    利用shell监控cpu.磁盘.内存使用率,达到警报阈值发邮件进行通知 并配合任务计划,即可及时获取报警信息 #!/bin/bash ################################# ...

随机推荐

  1. 爬虫基础01-day23

    写在前面 上课第23天,打卡: 每天进步一点,开心一点   ^_^ 爬虫 - 基本操作 概要: - 发送Http请求,Python Http请求,requests - 提取指定信息,Python 正则 ...

  2. nohup命令执行退出后进程退出

    nohup命令常常用于让进程在后台执行.但是如果仅仅是执行: nohup command & 之后直接关闭终端的话,会发现之前已经启动进程也会退出.解决办法:nohup command &am ...

  3. docker之搭建私有镜像仓库和公有仓库

    一.搭建私有仓库 1.docker pull registry #下载registry镜像并启动 2. docker run -d -v /opt/registry:/var/lib/registry ...

  4. 1.redis安装

    一.安装 1.安装 tar fvxz redis-3.0.7.tar.gz  ln -s redis-3.0.7 redis cd redis make && make install ...

  5. man termios(FreeBSD 12.0)

    TERMIOS() FreeBSD Kernel Interfaces Manual TERMIOS() NAME termios - general terminal line discipline ...

  6. 【python小练】0014题 和 0015 题

    第 0014 题: 纯文本文件 student.txt为学生信息, 里面的内容(包括花括号)如下所示: { ":["张三",150,120,100], ":[& ...

  7. DUMP1 企业级电商项目

    系统:centos6 配置mirror阿里云 https://opsx.alibaba.com/mirror 远程管理首选:ssh 账户密码登录(ssh user@host) 或者 本地私钥连接服务器 ...

  8. Debian Security Advisory(Debian安全报告) DSA-4411-1 firefox-esr security update

    Debian Security Advisory(Debian安全报告) DSA-4411-1  firefox-esr security update Package :firefox-esr CV ...

  9. node之http模块总结

    [文档归档文] 参考文献:https://nodejs.org/dist/latest-v6.x/docs/api/http.html

  10. mui的switch开关的应用

    HTML: <!--mui的switch开关--> <div class="mui-content-padded"> <h5>switch开关m ...