如今势态:
报警的方式可谓是八仙过海各显神通,如电话报警,短信报警,邮件报警,QQ报警,微信报警等等。
电话报警:一般都是使用别的平台的工具,平台给你提供一个接口供你使用,大多数为限量收费款
短信报警:一般是服务器安装串口GSM短信猫(也有其他平台提供这种接口),zabbix可以使用他来发送短信通知给管理员
邮件报警:一般是在server端安装邮件的客户端如sendEmail等,写脚本给zabbix进行调用,触发后发邮件给管理员
Q Q 报警:一般使用Mojo-Webqq的perl模板和cpanm包管理工具,然后登录webQQ.给zabbix进行调用
微信报警:一般就是使用微信企业号进行操作的,也有的是直接用python调用微信接口进行报警
经过辩论决定使用邮件和微信报警两种方式,
电话报警太吵,半夜打电话只为网络抖动,很是头疼呢
短信报警的方式不太在意(一般我的短信里都是会员了,打折了。。根本不看)
工作中最长使用的就是微信了,普及,开源,而且免费!!!
QQ和邮件报警如果有需要的在文章末尾评论下,我再给写,今天先出微信报警
如果你现在没有企业微信的话,可以申请一个微信企业号
微信企业号可能是团队式的不是公司式的,操作可能不太一样,但大体一致
企业号的申请和配置方法可参考:http://blog.51cto.com/wuhf2015/1688614
本文配置步骤:
https://work.weixin.qq.com/api/doc#10013
第一个要记录的值:部门ID:35
选择企业应用
选择创建应用
自定义填
创建应用后退出,点击刚才创建的应用进入
记录下这两个值:AgentId、Secret
然后选择企业
记录值:CorpId
可以使用企业微信的API接口测试一下
http://work.weixin.qq.com/api/devtools/devtool.php
返回值如下即为OK,可以写脚本引用
若返回错误代码请参考
https://work.weixin.qq.com/api/doc
https://work.weixin.qq.com/api/doc#10649
写脚本:
[root@check1 alertscripts]# pwd
/usr/local/zabbix/share/zabbix/alertscripts
[root@check1 alertscripts]# vim wechat.sh
#!/bin/bash
#set -x
#运维工程师 王初一
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=1000066 #改为AgentId 在创建的应用那里看
local UserID=$1 #发送的用户位于$1的字符串
local PartyID=35 #第一步看的通讯录中的部门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
[root@check1 alertscripts]# grep alertscripts /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
告警测试:
[root@check1 alertscripts]# bash wechat.sh WangJinLong 告警测试 注意这是一条告警测试信息
{"errcode":0,"errmsg":"ok","invaliduser":""}
测试没有问题,开始配置zabbix
选择创建用户
添加报警媒介
权限可以看情况分配,我这自己用可以给大一点
选择报警媒介类型
创建媒体类型 别忘点“更新”
选择配置-动作
创建动作
默认接收人:
故障:{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!
默认信息:
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件标识:{EVENT.ID}
Recovery operations
默认接收人:
恢复:{TRIGGER.STATUS}, 服务器:{HOSTNAME1}:{TRIGGER.NAME}已恢复!
默认信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
将zabbix_server的agent关闭看是否报警,然后再启动看是否有恢复通知
zabbix分布式监控系统安装配置:http://www.cnblogs.com/LuckWJL/p/9037007.html
安装配置zabbix代理之zabbix_proxy:http://www.cnblogs.com/LuckWJL/p/9055587.html
zabbix安装配置agent程序之agent配置文件详解:http://www.cnblogs.com/LuckWJL/p/9055912.html
配置zabbix_server通过zabbix_proxy进行监控Host:http://www.cnblogs.com/LuckWJL/p/9056195.html