nagios 流量监控和报警的shell脚本
来源:互联网 发布:洗车一分钱的软件 编辑:程序博客网 时间:2024/05/16 08:46
上下文:我们平台的监控系统用的是cacti+nagios。之前没有加流量异常报警设置,cacti上到是有插件可以时间报警,但是无法使用我们自己的短信接口(nagios用的购买的短信接口),所以想自己写一个脚本配合nagios实现基本的流量异常报警。
脚本思路:/proc/net/dev取出当前流经网卡的(接收和发送)的kb总数量,在检测间隔时间后再次读取这两个值,
相减既是间隔时间段内的增量,再根据此增量做计算,算出间隔时间内的平均流量,和基准流量作比较,触发nagios报警事件
局限性:我们只检测外网卡的流量,且默认em1网卡为外网卡(需根据各位实际情况自行调整)
脚本内容:
#!/bin/bash#by ljk #默认第一块网卡为外网卡,检查当前系统是以eth0还是em1作为网卡一,后面会引用网卡名 interface=`ip a|grep -e "eth0" -e "em1"|awk '{print $NF}'|tail -1` #定义存储结果的函数,以便在任何异常/正常退出前都能保存最新的记录 function tmp_store { chmod 777 /tmp/receive /tmp/transfer &> /dev/null #以防以root用户验证脚本时以root创建这两个文件,等nagios以nagios用户调用脚本的时候无法写入新的记录值,导致检测结果不准 cat /proc/net/dev|grep "$interface"|sed 's/^ *//g'|awk -F'[ :]+' '{print $2}' > /tmp/receive cat /proc/net/dev|grep "$interface"|sed 's/^ *//g'|awk -F'[ :]+' '{print $10}' > /tmp/transfer } #将当时流量统计记录于tmp,然后由nagios调用脚本,定时(5分钟,遇异常隔5分钟再检测)采集新的统计值, 做计算统计出时间段内流量的平均值 RX_bytes_last=`cat /tmp/receive` TX_bytes_last=`cat /tmp/transfer` RX_bytes=`cat /proc/net/dev|grep "$interface"|sed 's/^ *//g'|awk -F'[ :]+' '{print $2}'` TX_bytes=`cat /proc/net/dev|grep "$interface"|sed 's/^ *//g'|awk -F'[ :]+' '{print $10}'` speed_RX=`echo "scale=0;($RX_bytes - $RX_bytes_last)*8/1024/1024/300"|bc` #300即5分钟,nagios 每五分钟检测一次流量,统计出来的 单位为Mb speed_TX=`echo "scale=0;($TX_bytes - $TX_bytes_last)*8/1024/1024/300"|bc` if [ $speed_RX -gt 5 -a $speed_TX -gt 5 ];then #此处的5,是我们的基准值,各位自行调整 echo "speed_RX=$speed_RX, speed_TX=$speed_TX. both great than normal" tmp_store; exit 2 elif [ $speed_RX -gt 5 -o $speed_TX -gt 5 ];then if [ $speed_RX -gt 5 ];then echo "receive is $speed_RX Mbps, great than 5Mbps" tmp_store; exit 2 else echo "transfer is $speed_TX Mbps, great than 5Mbps" tmp_store; exit 2 fi else echo "OK speed_RX=$speed_RX Mbps, speed_TX=$speed_TX Mbps" tmp_store; exit 0 fi
0 0
- nagios 流量监控和报警的shell脚本
- Nagios 里面监控MySQL事务一直RUNNING没有结束的报警Shell脚本
- 一个监控网卡流量的shell脚本
- mrtg监控交换机路由器流量以及nagios报警
- 利用Linux Shell脚本实现MySQL自动监控和报警
- 磁盘监控报警-nagios
- Shell脚本监控Storm集群,邮件报警
- Nagios监控Windows的网卡流量
- nagios监控网址流量的方法
- Nagios 网卡流量监控
- Nagios 网卡流量监控
- nagios监控网卡流量
- shell脚本实现对网卡流量监控
- Ubuntn shell脚本之磁盘流量监控
- shell脚本实现对网卡流量监控
- shell脚本实现对网卡流量监控
- 用SHELL脚本自动化安装Nagios服务器端和客户端的
- nagios实例配置2-关于nagios 的check_http 监控报警的设置
- 7、Java入门—常用类
- 卡特兰数(Catalan)高精度实现
- linux shell 命令
- spring+mybatis事务配置
- firefox uploadify http 302 error
- nagios 流量监控和报警的shell脚本
- CPictureEx类使用说明
- 机器学习笔记——梯度下降法
- 续:自定义线性布局----适配器定义
- ADOX.Catalog简易中文文档
- KMP算法的效率分析
- 使用ThinkPHP扩展,实现Redis的CURD操作。
- jQuery遮盖蒙板(防止重复点击按钮误操作)
- 教你一步一步编写javasci程序【java调用scilab】