zabbix变量与shell脚本实现微信告警

内容来自网络,感谢分享

故障:{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!
告警主机:{HOSTNAME1},IP地址:{HOST.CONN}
告警时间:{EVENT.DATE}{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

恢复:{TRIGGER.STATUS},服务器:{HOSTNAME1}已经恢复!:{TRIGGER.NAME}
告警主机:{HOSTNAME1} ,IP地址:{HOST.CONN}
告警时间:{EVENT.DATE}{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

主机显示名:{HOST.NAME}

zabbix邮件报警变量表:http://blog.csdn.net/apache0554/article/details/45843695
zabbix邮件报警设置方法:http://www.jb51.net/article/56973.htm
zabbix配置发送报警邮件:http://www.cnblogs.com/xkops/p/5457443.html

微信告警shell脚本 ,https://www.cnblogs.com/LuckWJL/p/9076510.html

#!/bin/bash
#脚本源自网络,感谢分享
CorpID=""            #我的企业下面的CorpID
Secret=""            #创建的应用那有Secret
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CorpID&corpsecret=$Secret"
Token=$(/usr/bin/curl -s -G $GURL |awk -F\": ‘{print $4}‘|awk -F\" ‘{print $2}‘)
#echo $Token
PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Token"

function body(){
        local int agentid=1000002   #改为AgentId 在创建的应用那里看
        local UserID=$1                 #发送的用户位于$1的字符串
        local PartyID=1                 #第一步看的通讯录中的部门ID
        local Msg=$(echo "$@" | cut -d" " -f3-)
        printf ‘{\n‘
        printf ‘\t"touser": "‘"$UserID"\"",\n"
        printf ‘\t"toparty": "‘"$PartyID"\"",\n"
        printf ‘\t"msgtype": "text",\n‘
        printf ‘\t"agentid": "‘"$agentid"\"",\n"
        printf ‘\t"text": {\n‘
        printf ‘\t\t"content": "‘"$Msg"\""\n"
        printf ‘\t},\n‘
        printf ‘\t"safe":"0"\n‘
        printf ‘}\n‘
}
/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL

原文地址:https://www.cnblogs.com/hbgs/p/10605676.html

时间: 2024-11-11 07:09:28

zabbix变量与shell脚本实现微信告警的相关文章

zabbix中通过shell脚本进行微信监控告警

由于研究过php和java的微信告警发送,后来发现目前的微信告警需求相对不复杂,通过shell脚本可以满足目前的zabbix微信告警需求. 本文讲解的是通过shell脚本进行zabbix告警通过微信发送. 一.在zabbix的发送告警的的目录下新建sendWeChat.sh cd  /usr/lib/zabbix/alertscripts vim  sendWeChat.sh 二.脚本内容(需要企业号的CropID和Secret) #!/bin/bash # Filename:    sendW

shell脚本之微信报警功能的实现

导语:现在越来越流行微信报警功能了.下面就来看看具体实现吧! 1.先申请一个微信企业号 传送门:http://work.weixin.qq.com/ 2.添加用户 2.创建应用 3.创建管理组并添加管理员 接下来准备三个东西: CorpID 在我的企业一栏中 AgentId Secret 这2个都在应用中 API调试传送门:http://work.weixin.qq.com/api/devtools/devtool.php shell脚本的实现 1 #!/bin/bash 2 # -*- cod

Zabbix实现电话、邮件、微信告警通知的实践分享

众所周知Zabbix 是一款用来监控IT基础设施的监控套件,同时也具有很多方便运维人员使用的优秀功能,如:支持多条件告警,支持多种告警方式,支持多组模板.支持模板继承,因此在众多的开源运维监控软件中独占鳌头,受到了众多企业青睐.暇瑜不掩,Zabbix在告警方式还是有一定局限性,如Email发送告警配置繁琐,需要调用邮件引擎脚本通过 SMTP 发送邮件:如用微信接收告警,需要申请一个微信公众号,接入复杂周期较长:如用短信接收告警,短信网关良莠不齐稳定性无法保证:如用语音接收告警,模板定义重口难调.

自动安装zabbix agent的shell脚本

#!/bin/bash #install the zabbix agent #Create by ShiYong id zabbix &> /dev/null || useradd -s /sbin/nologin zabbix mkdir /etc/zabbix /var/log/zabbix chown zabbix.zabbix /var/log/zabbix/ tar zxf zabbix-2.0.12.tar.gz -C /usr/src/ cd /usr/src/zabbix-2

shell脚本须知

什么是shell脚本,首先它是一个脚本,并不能作为正式的编程语言,说白了就是shell脚本就是一些命令的集合. 凡是自定义的脚本建议放到/usr/local/sbin/目录下,这样的好处是方便管理和维护,且利于以后交接给接替你的管理员. shell脚本的结构 #cat first.sh #! /bin/bash ## This is my first shell script. date echo "Hello world!" 脚本要以#! /bin/bash开头,代表的意思:该文件是

Linux shell脚本编程详解及应用实例

什么是shell脚本? 1.shell脚本:是一种解释型语言,不需要提前进行编译,只需将代码转化成中间代码,边解释边运行,执行效率稍逊于编译型语言,跨平台性好.而编译型语言则需要提前进行编译转化为二进制文件,靠近底层硬件执行效率高,可移植性差. 2.shell的首行严格来说使用shebang机制:由#和!构成的字符序列,在类unix系统中程序的载入器将其后的内容,当做解释器的指令,并将载有shebang文件路径作为解释器的参数,且予以调用. shell及其他解释型语言的一般格式?  #!/bin

Linux Shell脚本编写——构建基本脚本(一)

创建shell脚本 在创建shell脚本文件,必须在文件的第一行指定要使用的shell,其格式为: #!/bin/bash 创建.执行sh脚本 代码1-1 [email protected]:/data# cat demo1 #/bin/bash date who [email protected]:/data# ls -l total 4 -rw-r--r-- 1 root root 21 Dec 1 13:59 demo1 [email protected]:/data# chmod u+x

复习shell脚本

什么是shell脚本.首先它是一个脚本,并不能作为正式的编程语言.因为是跑在linux的shell中,所以叫shell脚本.说白了,shell脚本就是一些命令的集合.举个例子,我想实现这样的操作: 1)进入到/tmp/目录: 2)列出当前目录中所有的文件名: 3)把所有当前的文件拷贝到/root/目录下: 4)删除当前目录下所有的文件. 简单的4步在shell窗口中需要你敲4次命令,按4次回车.这样是不是很麻烦?当然这4步操作非常简单,如果是更加复杂的命令设置需要几十次操作呢?那样的话一次一次敲

Linux之Shell脚本编程(一)

什么是Shell Shell是命令解释器(command interpreter),是Unix操作系统的用户接口,程序从用户接口得到输入信息,shell将用户程序及其输入翻译成操作系统内核(kernel)能够识别的指令,并且操作系统内核执行完将返回的输出通过shell再呈现给用户,下图所示用户.shell和操作系统的关系: Shell也是一门编程语言,即shell脚本,shell是解释执行的脚本语言,可直接调用linux命令. .java -> .class 一个系统可以存在多个shell,可以