zabbix 微信报警

1.服务器:
192.168.9.111 zabbix 搭建zabbix
192.168.9.112 ng-to-re 搭建nginx 、tomcat、redis主从
192.168.9.113 za-my 搭建mysql主从

1 邮件报警

[root@ip-10-1-0-18 ~]# wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
[root@ip-10-1-0-18 ~]# yum -y install perl-Net-SSLeay perl-IO-Socket-SSL
[root@ip-10-1-0-18 ~]# tar xf sendEmail-v1.56.tar.gz -C /usr/local/
[root@ip-10-1-0-18 ~]# cd /usr/local/sendEmail-v1.56/
[root@ip-10-1-0-18 sendEmail-v1.56]# /bin/cp -ra sendEmail /usr/local/bin/
[root@ip-10-1-0-18 sendEmail-v1.56]# chmod +x /usr/local/bin/sendEmail 
[root@ip-10-1-0-18 sendEmail-v1.56]# which sendmail
/sbin/sendmail

[root@ip-10-1-0-18 ~]# cd /usr/lib/zabbix/alertscripts
[root@ip-10-1-0-18 alertscripts]# vim sendmail.sh
#!/bin/bash
# author:Mr.chen
to=$1
subject=$2
body=$3
[email protected]
smtp=smtp.qq.com
passwd=iyvkubyfzfjjbgde
/usr/local/bin/sendEmail -f "$from" -t "$to" -s "$smtp" -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu "$from" -xp "$passwd" -m "$body" -o tls=no

[root@ip-10-1-0-18 alertscripts]# chmod +x sendmail.sh 
[root@ip-10-1-0-18 alertscripts]# chown zabbix.zabbix sendmail.sh 
[root@ip-10-1-0-18 alertscripts]# sh sendmail.sh [email protected] "hello world" "新的一天"
Nov 26 12:37:03 ip-10-1-0-18 sendEmail[14996]: Email was sent successfully!

2.微信报警功能
2.1创建企业微信创建自应用
zabbix 微信报警

获取以下参数:
企业ID或 CropID     wwd777e2474ce584b9

AgentId                   1000002
Secret                     ZlHBU34cImjCtIg3Dwl5iCuINUHONwkqRZPUTBjC_Yw

AppID=1000002             #这里是创建的应用ID,即Agentld的值
PartyID=2                       #接收消息的部门ID

获取方式如图:
点击---我的企业---获取企业id
zabbix 微信报警
点击---应用于小程序--我们自建的zabbix服务(那个美女)---里面有AgentId和Secret
zabbix 微信报警
zabbix 微信报警
点击---通讯录---点击部门后的三个点--获取部门id
zabbix 微信报警

2.2编写报警脚本并更改权限和双主

[root@zabbix alertscripts]# vim weixin.sh (此路径在配置文件中,你自己设定的如果不改在/usr/lib/zabbix/alertscripts)

#!/bin/bash
# author:Mr.pan

CropID="wwd777e2474ce584b9"           #这里填写我们的应用的CropID

Secret="ZlHBU34cImjCtIg3Dwl5iCuINUHONwkqRZPUTBjC_Yw"            #这里是应用的Secret

#下面的GURL和PURL地址无需改变,不用做任何变动
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"

Gtoken=`/usr/bin/curl -s -G $GURL | awk -F\" '{print $10}'`

PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"

function body() {
        local int AppID=1000002 #这里是创建的应用ID
        local UserID=$1         #接收消息用户,系统传参
        local PartyID=2         #接收消息的部门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": "'" $AppID "\"",\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
[root@zabbix alertscripts]# chmod +x weixin.sh 
[root@zabbix alertscripts]# chown zabbix.zabbix weixin.sh 
[root@zabbix alertscripts]# ll
total 4
-rwxr-xr-x 1 zabbix zabbix 1151 Oct 21 23:45 weixin.sh

2.3测试脚本是否可用

[root@zabbix alertscripts]# sh weixin.sh yinsendemogui "题目" "报警内容"{"errcode":0,"errmsg":"ok","invaliduser":"#######"}
{"errcode":0,"errmsg":"ok","invaliduser":"yinsendemogui"}[root@zabbix alertscripts]# 
#得到下面这行则表示成功,或者看企业微信是否有信息

2.4在zabbix中配置微信报警
点击管理---添加报警媒介类型
zabbix 微信报警

zabbix 微信报警
点击管理---用户---选择用户(我们这里选Administrator)
zabbix 微信报警
点击添加---更新
zabbix 微信报警

zabbix 微信报警

zabbix 微信报警

点击配置
动作---添加触发条件(此处我们选择示警度大于等于警告的报警)
zabbix 微信报警

操作---修改报警的内容格式(因为原格式太乱)

#告警通知格式样例
#题目
A故障:{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!
#内容
告警主机: ;{HOSTNAME1}<br/>
告警时间: ;{EVENT.DATE} {EVENT.TIME}<br/>
告警等级: ;{TRIGGER.SEVERITY}<br/>
告警信息: ;{TRIGGER.NAME}<br/>
告警项目: ;{TRIGGER.KEY1}<br/>
问题详情: ;{ITEM.NAME} {ITEM.VALUE}<br/>
当前状态: ;{TRIGGER.STATUS} {ITEM.VALUE1}<br/>
事件ID: ;{EVENT.ID}

添加操作,发送的次数、发送个哪个用户、用什么发送是所用媒介还是仅微信,此处默认1h我们可以不改
zabbix 微信报警

步骤1-3也就是从1开始到3结束。一旦发生故障,就是执行sendmail.sh脚本发生报警邮件给zabbix用户。
假如故障持续了1个小时,它也只发送3次,第1-3次(即前3次)邮箱发送给zabbix用户,时间间隔为0秒。
如果改成1-0,0是表示不限制,无限发送。

zabbix 微信报警

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章