配置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

Zabbix企业微信群报警接收_zabbix

以下图片显示就是create media 展示的样式,下面参数的添加位置一定要按规定添加,顺序乱了就报警接收的信息就乱了

Zabbix企业微信群报警接收_zabbix_02

企业微信群机器人配置

 Zabbix企业微信群报警接收_zabbix_03

Zabbix企业微信群报警接收_zabbix_04

Zabbix企业微信群报警接收_zabbix_05

Zabbix企业微信群报警接收_zabbix_06

Zabbix企业微信群报警接收_zabbix_07

在微信群中可以重新获取机器人,或者移除机器人

Zabbix企业微信群报警接收_zabbix_08

脚本配置

下面是放到/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

Zabbix企业微信群报警接收_zabbix_09

配置Actions

在你自己配置的actions中,operations中针对opertions和recovery operations、update operations把send only to 设置为我们增加的media type的

测试

配置完成后通过测试,如果测试成功那么配置就完成

Zabbix企业微信群报警接收_zabbix_10

Zabbix企业微信群报警接收_zabbix_11

Zabbix企业微信群报警接收_zabbix_12

Zabbix企业微信群报警接收_zabbix_13