一个ping检测告警函数代码

代码如下:

#!/bin/bash
 ping_monitor()
    {
    host_=(203 204 205 207 208 209 210 212 213 214 215 216 217 218 219 220 221)
    ping_count=3
    called=(13000000001 13000000002 13000000003)
    calling=13000000000
    callop=1310000000
    #main------------------------------------------------------------
    echo "`date "+%Y%m%d %H:%M:%S"`----->脚本开始执行......">>ping_log
    for host_1 in ${host_[*]};do
       host=192.168.1.$host_1
       echo "-------->开始检测$host服务器通迅是否正常,ping次数$count"
       ping_result=`ping $host -c $ping_count |tail -2 |head -1`
       #sleep 1
       echo "-------->服务器$host检测已完成"
       #取成功条数
       succ_ping=`echo ${ping_result:23:1}`
       #取失败百分比
       loss_ping=`echo ${ping_result:46:4}`
          if [ $succ_ping -eq $ping_count ];then
             echo "本次检测结果---->$host服务器ping检测正常"
             echo "`date "+%Y%m%d %H:%M:%S"`--->$host服务器ping检测正常" >>ping_log
          else
             echo "本次检测结果---->$host服务器有丢包现象,丢包率为:$loss_ping"
             echo "`date "+%Y%m%d %H:%M:%S"`--->$host服务器有丢包现象,丢包率为:$loss_ping" >>ping_err_log
             #插入短信表—smssend00
             for called in ${telno[*]};do
    mysql -h$dbhost -u$dbuser -p$dbpass -D$dbbase <<GETRECODE
        INSERT INTO $dbtable (servercode,smsservercode,groupid,priority,calling,called,payer,orderdatetime,senddatetime,effectstarttime,
    effectendtime,effectstarttime2,effectendtime2,invaliddatetime,feevalue,iffee,message,hideflag,msgtype,smsfeetype,ifsmsreport,service
    type,morelatetomtflag,reserve,optempid,optuserid,clientprogramtype,optcode,optip,remark)
      VALUES
    (2,2,1,0,'$calling','$called','$callop',Now(),Now(),'00:00:00','23:59:59',NULL,NULL,NULL,0,1,'服务器告警!!$host服务器检测到有丢包现像,丢包率:$loss_ping',0,1,2,0,'2_2',NULL,NULL,1,668,1,3001,'192.168.1.182',NULL)
    GETRECODE
              done
           fi
    done
       echo "`date "+%Y%m%d %H:%M:%S"`----->脚本运行完毕......">>ping_log
    }

(0)

相关推荐

  • 一个ping检测告警函数代码

    复制代码 代码如下: #!/bin/bash ping_monitor()    {    host_=(203 204 205 207 208 209 210 212 213 214 215 216 217 218 219 220 221)    ping_count=3    called=(13000000001 13000000002 13000000003)    calling=13000000000    callop=1310000000    #main------------

  • perl ping检测功能脚本代码

    我的第一个用于生产环境的perl脚本,虽然不是很优秀,但也迈出了扎实的一步 :)领导有任务,给一批IP列表,ping每一台机器,如果没有响应就发邮件通知,通知的邮件需要分开,不能通知一个列表,得一封一封的通知.用到email::send模块,因为需要用到Gmail 复制代码 代码如下: #!/usr/bin/perl use warnings; use strict; use Email::Send; use Email::Send::Gmail; use Email::Simple::Crea

  • 一个可交互的并发ping检测脚本

    复制代码 代码如下: #!/bin/bash#********************************##2013-01-11 17:00:00 wanggy exp  ##note:ping monitor               ##********************************#set -uping_fun(){    d_network=192.168.1    echo -n "input the network(default $d_network):&

  • 封装好的一个万能检测表单的方法

    检测表单中的不能为空(.notnull)的验证  作用:一对form标签下有多个(包括一个)表单需要提交时,使用js准确的判断当前按钮对那些元素做判断  用法:在form标签下 找到当前 表单的容器 给予class="form",当前表单的提交按钮给予 class="check"  需要验证为空的元素给予class="notnull" nullmsg="xx不能为空!"提示,需要进行逻辑判断的表单给予class="n

  • Android中的人脸检测的示例代码(静态和动态)

    (1)背景. Google 于2006年8月收购Neven Vision 公司 (该公司拥有10多项应用于移动设备领域的图像识别的专利),以此获得了图像识别的技术,并加入到android中.Android 中的人脸识别技术,用到的底层库:android/external/neven/,framework 层:frameworks/base/media/java/android/media/FaceDetector.java. Java 层接口的限制:A,只能接受Bitmap 格式的数据:B,只能

  • python性能检测工具函数运行内存及运行时间

    目录 1.memory_profiler进程监视 2.timeit 时间使用情况 3.line_profiler行代码运行时间检测 4.heartrate可视化检测工具 前言: python虽然是一门'慢语言',但是也有着比较多的性能检测工具来帮助我们优化程序的运行效率.这里总结了五个比较好的python性能检测工具,包括内存使用.运行时间.执行次数等方面. 首先,来编写一个基础的python函数用于在后面的各种性能测试. def base_func(): for n in range(1000

  • OpenCV实现物体的凸包检测的示例代码

    目录 1. 凸包 2.寻找凸包:convexHull()函数 3.函数解析之theRNG() 4 .circle()函数[回忆] 5.基础示例程序:凸包检测基础 1. 凸包 什么是凸包? 解释:给定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸边形,它是包含点集中所有的点. 如下:用人手图来举例说明凸缺陷概念.手周围深色的线描画出凸包,A到H被标出的区域是凸包的各个“缺陷”,这些凸度缺陷提供了手以及手状态的特征表现的方法. 2.寻找凸包:convexHull()函数 说明:convexH

  • 基于FLink实现实时安全检测的示例代码

    目录 研发背景 场景描述 组件版本 日志结构 技术方案 关键代码 主入口类 mapper算子 filter算子 keyBy算子 窗口函数(核心代码) 最后一次map算子 ElasticSearch工具类 事件实体类 消息实体类 研发背景 公司安全部目前针对内部系统的网络访问日志的安全审计,大部分都是T+1时效,每日当天,启动Python编写的定时任务,完成昨日的日志审计和检测,定时任务运行完成后,统一进行企业微信告警推送.这种方案在目前的网络环境和人员规模下,呈现两个痛点,一是面对日益频繁的网络

  • switch实现一个两数的运算代码示例

    具体代码如下所示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&quo

  • Python中enumerate函数代码解析

    enumerate函数用于遍历序列中的元素以及它们的下标. enumerate函数说明: 函数原型:enumerate(sequence, [start=0]) 功能:将可循环序列sequence以start开始分别列出序列数据和数据下标 即对一个可遍历的数据对象(如列表.元组或字符串),enumerate会将该数据对象组合为一个索引序列,同时列出数据和数据下标. 举例说明: 存在一个sequence,对其使用enumerate将会得到如下结果: start        sequence[0]

随机推荐