邮件告警

定义发件人

管理 > 报警媒介类型 > Email
邮件发件人

发件测试:

发件测试

定义收件人

  • 个人资料 > 报警媒介 > 添加
  • 确保动作已启用

压力测试:

1
ab -n 10000 -c 4000 http://10.0.0.53/

测试

发信日志

报表 > 动作日志

邮件格式

配置 > 动作 > 操作

微信告警

加入企业微信

关注微工作台

企业微信助手

创建企业应用

进入企业微信后台 > 应用管理 > 自建应用
获取企业应用信息:
获取应用信息

上传python脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#author: yanggd
#date: 2018-04-20
#comment: zabbix接入微信报警脚本

import requests
import sys
import os
import json
import logging

logging.basicConfig(level = logging.DEBUG, format = '%(asctime)s, %(filename)s, %(levelname)s, %(message)s',
datefmt = '%a, %d %b %Y %H:%M:%S',
filename = os.path.join('/tmp','weixin.log'),
filemode = 'a')
#以下三项是根据你自己企业微信的信息填写
corpid='wwc74a658df899****'
appsecret='uSDSLXWXxFAG_qjqL73SEmE2vbo1mSbQOK230****'
agentid=1000002
#获取accesstoken
token_url='https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + appsecret
req=requests.get(token_url)
accesstoken=req.json()['access_token']

#发送消息
msgsend_url='https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + accesstoken

touser=sys.argv[1]
subject=sys.argv[2]
#toparty='3|4|5|6'
message=sys.argv[2] + "\n\n" +sys.argv[3]

params={
"touser": touser,
# "toparty": toparty,
"msgtype": "text",
"agentid": agentid,
"text": {
"content": message
},
"safe":0
}

req=requests.post(msgsend_url, data=json.dumps(params))

logging.info('sendto:' + touser + ';;subject:' + subject + ';;message:' + message)

安装pip工具

[root@db01 ~]# yum install python2-pip -y

安装依赖:

1
[root@db01 ~]# pip install requests -i http://mirrors.aliyun.com/pypi/simple -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

测试脚本:

python weixin.py YaoFeiChi '外卖到了' '请到楼下取餐3/18 16:53'

微信告警测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@db01 ~]# cat /application/zabbix/etc/zabbix_server.conf
LogFile=/application/zabbix/zabbix_server.log
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=123123a
DBPort=3306
Timeout=30
AlertScriptsPath=/application/zabbix/alertscripts #告警脚本存放目录
ExternalScripts=/application/zabbix/externalscripts
LogSlowQueries=3000

[root@db01 ~]# mkdir -p /application/zabbix/alertscripts
[root@db01 /application/zabbix/alertscripts]# chmod +x weixin.py
[root@db01 /application/zabbix/alertscripts]# ll
总用量 4
-rwxr-xr-x 1 root root 1351 5月 24 21:27 weixin.py

配置zabbix发件人:

进入zabbix > 管理 > 报警媒介类型 > 创建媒体类型
微信发件人

参数:

1
2
3
{ALERT.SENDTO} //发给谁
{ALERT.SUBJECT} //报警标题
{ALERT.MESSAGE} //报警内容

官方文档:https://www.zabbix.com/documentation/3.0/manual/introduction/whatsnew300

配置zabbix收件人:

个人资料 > 报警媒介 > 添加 > 微信报警
微信收件人

微信脚本日志:

1
2
[root@db01 ~]# ll /tmp/weixin.log
-rw-rw-r-- 1 zabbix zabbix 2194 5月 24 21:47 /tmp/weixin.log. //注意日志权限

结果:

微信告警测试