配置Media type
Administration——>Media type——>create media type
主要是Script name、Script parameters,
Script name就是填写你脚本的名称,这个脚本需要放在AlertScriptsPath=${datadir}/zabbix/alertscripts 这个位置,一般就是
/usr/local/zabbix/share/zabbix/alertscripts/
这个前提就是你的zabbix安装在/usr/local/zabbix 目录,如果不是就到进入到你的安装目录下share/zabbix/alertscripts
Script parameters主要添加以下两个信息
{ALERT.SUBJECT} 这个是报警的title信息
{ALERT.MESSAGE} 这个是报警的详细内容
SUBJECT和MESSAGE的内容就是你配置的Actions
以下图片显示就是create media 展示的样式,下面参数的添加位置一定要按规定添加,顺序乱了就报警接收的信息就乱了
企业微信群机器人配置
在微信群中可以重新获取机器人,或者移除机器人
脚本配置
下面是放到/usr/local/zabbix/share/zabbix/alertscripts/webchat.py
在脚本配置前需要安装响应的软件包,
python3,centos7的系统存在python3的环境可以不用处理
requests,需要通过pip3 install requests 进行安装
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import requests
import json
import sys
import os
headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1d747ff2-5cff-4a1b-bedf-5ef12b1a3279" #企业微信群机器人的webhook地址
def msg(subject,message):
json_text= {
"msgtype": "text",
"text": {
"content": "subject:" + subject+ "\n" + "++++++++++++++++" + "\n" + message
},
}
requests.post(api_url,json.dumps(json_text),headers=headers)
if __name__ == '__main__':
subject= sys.argv[1]
message= sys.argv[2]
msg(subject,message)
如果需要在Script parameters增加参数,就按顺序增加,通过sys.argv[<第几个参数>],通过这样的方式获取指定的参数
subject= sys.argv[1]
message= sys.argv[2]
"content": "subject:" + subject+ "\n" + "++++++++++++++++" + "\n" + message在这个位置把响应的变量添加上就可以
配置用户绑定Media
配置Actions
在你自己配置的actions中,operations中针对opertions和recovery operations、update operations把send only to 设置为我们增加的media type的
测试
配置完成后通过测试,如果测试成功那么配置就完成