一.告警流程
首先要创建模板
在模板中创建触发器和监控项
创建监控项
创建触发器
1.1添加报警媒介
1.2声音设置
1.3创建用户
1.4配置动作
为触发器 系统用户登录数大于3 添加动作
1.5配置触发器
二.邮件告警
2.1 配置报警媒介类型
三.企业微信告警
3.1注册企业微信
3.2创建应用
创建完成记住AgentID和Secret:
记住企业ID
3.3微信企业号接口调试工具
https://open.work.weixin.qq.com/wwopen/devtool/interface/combine
3.4 配置脚本
在zabbix server上操作
1、安装requests组件
yum install -y python-pip
cd /usr/lib/zabbix/alertscripts/
vim webchat.sh
#!/bin/bash
CorpID="填写自己的"
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
local UserID="@all"
local PartyID=1
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
chmod +x webchat.sh
chown zabbix.zabbix webchat.sh
systemctl restart zabbix-server.service
./webchat.sh test123
测试结果: {"errcode":0,"errmsg":"ok","msgid":"WpLDpQFMGSE843kRbNhgXeSwGcdfomP8jofhSehE-FH04XKtV2Va6IFCYxr16b3Wl8VFiOqXf8m1WepSC7usOQ"}[root@jia alertscripts]#
3.4 zabbix web界面中配置微信报警
选择脚本,脚本名称就是我们写得webchat.sh
添加信息模板
修改默认报警模板
设置动作
默认接收人:故障{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}
设置恢复:
恢复:恢复主旨:恢复{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}