作者:邓聪聪

  由于设备IP众多,为了及时发现IP地址有不可达现象,利用微信的联动报警,及时发现问题,以下是脚本内容!!!

ping.sh
#!/bin/bash
###SCRIPT_NAME:icmp testing
PATH=$PATH ipfile="ip.txt"
declare -A ip_dic for key in `cat $ipfile |awk '{print $1}'`
do
ip_dic+=([$key]="")
done
ping_ip(){
dic_value=`echo ${ip_dic[$]}`
ping -c -W $ > /dev/null >&
if [ $? -ne $dic_value ]
then
S_IP=`cat $ipfile | grep -w "$1 "`
des=`cat $ipfile | grep ^"$S_ip "`
if [ $dic_value == ]
then
ip_dic[$]=""
/bin/bash /root/wechat.sh "网络中断" "$S_IP" "$des"
else
ip_dic[$]=""
/bin/bash /root/wechat.sh "网络恢复" "$S_IP" "$des"
fi
else
continue
fi
}
while true
do
for ip in `cat $ipfile|awk '{print $1}'`
do
ping_ip $ip
done
sleep
done
wechat.sh
#!/bin/bash
PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
###SCRIPT_NAME:weixin.sh###
###send message from weixin for icmp monitor### CropID='your CropID '
Secret='your SecretID'
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F'access_token\":\"' '{print $2}' | awk -F'"' '{print $1}') PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken" function body() {
local int AppID=
local UserID=$
local PartyID=
local TagID=
Ent=$'\n'
Date=$(date '+%Y年%m月%d日 %H:%M:%S\n\n')
Tit=$(cat /root/title.txt)
Mes=$Date$-$-$ printf '{\n'
printf '\t"touser": "'"$User"\"",\n"
printf '\t"toparty": "'"$PartyID"\"",\n"
printf '\t"totag": "'"$TagID"\"",\n"
printf '\t"msgtype": "news",\n'
printf '\t"agentid": "'" $AppID "\"",\n"
printf '\t"news": {\n'
printf '\t"articles": [\n'
printf '{\n'
printf '\t\t"title": "'"$Tit"\","\n"
printf '\t"description": "'"$Mes"\","\n"
printf '\t}\n'
printf '\t]\n'
printf '\t}\n'
printf '}\n'
} /usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL

利用微信企业号的告警功能,联动检测ICMP的shell脚本的更多相关文章

  1. 用于检测进程的shell脚本

    用于检测进程的shell脚本 2010-07-07 10:38:08|  分类: Centos |字号 订阅 脚本一: #!/bin/sh program=XXXX     #进程名 sn=`ps - ...

  2. 用于检测进程的shell脚本代码小结

    本文介绍一段shell脚本,它可以检测某进程或某服务是否正在运行,然后以邮件通知.有需要的朋友参考下 一个简单的shell脚本,用来找出关键的服务是否正在运行,适用于Linux操作系统或Unix操作系 ...

  3. 利用gcc自带的功能-fstack-protector检测栈溢出及其实现

    最近又遇到了一个崩溃,栈回溯非常怪异. /lib/i386-linux-gnu/libc.so.(gsignal+0x4f) [0xb2b751df] /lib/i386-linux-gnu/libc ...

  4. 利用gcc自带的功能-fstack-protector检测栈溢出及其实现【转】

    转自:https://www.cnblogs.com/leo0000/p/5719186.html 最近又遇到了一个崩溃,栈回溯非常怪异. /lib/i386-linux-gnu/libc.so.6( ...

  5. C#开发微信门户及应用(25)-微信企业号的客户端管理功能

    我们知道,微信公众号和企业号都提供了一个官方的Web后台,方便我们对微信账号的配置,以及相关数据的管理功能,对于微信企业号来说,有通讯录中的组织架构管理.标签管理.人员管理.以及消息的发送等功能,其中 ...

  6. C#开发微信门户及应用(17)-微信企业号的通讯录管理开发之部门管理

    前面一篇随笔企业号的一些基础信息,以及介绍如何配置企业号的回调方式实现和企业号服务器进行沟通的桥梁.本篇主要还是继续介绍企业号的开发工作的开展,介绍微信企业号通讯录管理开发功能,介绍其中组织机构里面如 ...

  7. zabbix之微信告警(python版):微信个人报警,微信企业号告警脚本

    微信个人告警脚本 微信个人告警:使用个人微信,发送到微信群组,微信好友 两个脚本执行: 1)能连接网络2)先执行server.py,扫描登录微信,登录之后没有报错,打开新终端查看端口是否起来了3)在z ...

  8. C#开发微信门户及应用(19)-微信企业号的消息发送(文本、图片、文件、语音、视频、图文消息等)

    我们知道,企业号主要是面向企业需求而生的,因此内部消息的交流显得非常重要,而且发送.回复消息数量应该很可观,对于大企业尤其如此,因此可以结合企业号实现内部消息的交流.企业号具有关注安全.消息无限制等特 ...

  9. C#开发微信门户及应用(16)-微信企业号的配置和使用

    在本系列随笔的前面,主要就是介绍微信公众号的门户应用开发,最近把整个微信框架进行了扩展补充,增加了最新的企业号的API封装和开发,后续主要介绍如何利用C#进行微信企业号的开发工作,本篇作为微信企业号的 ...

随机推荐

  1. Struts2_参数获得方式

    1.属性驱动 /** * @ClassName: Demo8Action * @Description: struts2如何获得参数 * 每次请求action时都会创建新的action实例对象 * @ ...

  2. MHA环境搭建

    准备工作 数据库架构 角色 ip地址 主机名 server_id Master Slave1 Slave2 配置三台服务器ssh免秘钥认证 ssh-keygen -t rsa ssh-copy-id ...

  3. MapReduce-WordCount

    pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...

  4. SpringMVC+Shiro不拦截静态资源配置

    最近在弄SpringMVC与Shiro整合,发现如果将DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题.如果DispatcherServlet改为拦截“/” ...

  5. GC ROOT

    (GC Root有哪些) 基本思想是通过一系列称为“GC roots”的对象作为起始点,可以作为根节点的是: 虚拟机栈(栈帧中的本地变量表)中引用的对象(即所有Java线程当前活跃的栈帧里指向GC堆里 ...

  6. Shell编程(六)awk工具

    1. {print} coins.txt gold USA American Eagle gold Austria Franz Josef Korona silver USA ingot gold S ...

  7. redis 全局命令 查看所有的键,删除键,检查键是否存在,获取过期时间,键的数据结构类型

    Redis有5中数据结构,他们是键值对中的值,对于键来说,有一些通用的命令: 一.查看所有键 keys * 二.获取键总数:dbsize 三.检查键是否存在 exists 如果存在返回1,不存在返回0 ...

  8. Slash and BackSlash 记忆法

    容易混淆的两兄弟 Slash https://en.wikipedia.org/wiki/Slash Slash (punctuation), the "/" punctuatio ...

  9. PDO和MySQLi区别与选择?

    当用PHP访问数据库时,除了PHP自带的数据库驱动,我们一般还有两种比较好的选择:PDO和MySQLi.在实际开发过程中要决定选择哪一种首先要对二者有一个比较全面的了解.本文就针对他们的不同点进行分析 ...

  10. [C++]Linux之网络实时检测功能

    声明:如需引用或者摘抄本博文源码或者其文章的,请在显著处注明,来源于本博文/作者,以示尊重劳动成果,助力开源精神.也欢迎大家一起探讨,交流,以共同进步,乃至成为朋友- 0.0 由于学习操作系统实验课程 ...