zabbix企业微信告警配置教程
前言:
zabbix企业微信告警只需要配置一次就可以使用很久了,但是发现再次配置时,总会有遗忘,很麻烦又要去重新熟悉,所以,现在记录一份详细的配置过程,方便日后再次配置。
1.zabbix_server服务器端配置:
cat /usr/local/zabbix/etc/zabbix_server.conf | grep -Ev "^$|^#"
LogFile=/tmp/zabbix_server.log
DBHost=127.0.0.1
DBName=zabbix
DBUser=root
DBPassword=mysql_password
DBPort=
StartPollers=
StartPollersUnreachable=
StartTrappers=
StartPingers=
StartDiscoverers=
MaxHousekeeperDelete=
CacheSize=64M
HistoryCacheSize=128M
TrendCacheSize=4M
ValueCacheSize=128M
Timeout=
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #发消息脚本路径
LogSlowQueries=
2.编写发消息到企业微信脚本
vim /usr/local/zabbix/share/zabbix/alertscripts/sed_messages_weixin.py
#!/usr/bin/env python
# _*_ coding: utf-8 _*_
# author:chenjianwen
# email:1071179133@qq.com import sys
import urllib2
import json
import requests toparty = sys.argv[1] #发给哪个部门
title = sys.argv[2] #标题
message = sys.argv[3] #内容 corpid = 'ww7xxxx' #企业微信号id
#corpsecret = 'Hjekn1xxxV9xA' ##应用Secret if toparty == "": #根据部门id确定对应项目的报警消息发送到对应部门
corpsecret = 'xxxxxxxxxxxxxxxxxxxxxxx'
agentid = 1000004
elif toparty == "":
corpsecret = 'xxxxxxxxxxxxxxxxxxxxxxx'
agentid = 1000013 get_access_token_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s'%(corpid,corpsecret) def get_access_token(get_access_token_url):
data = urllib2.urlopen(get_access_token_url).read().decode('utf-8')
data = json.loads(data)
#print data["access_token"]
return data["access_token"] def send_messages(access_token,toparty,agentid,content):
send_messages_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s'%access_token
data = {
"touser" : "", #成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个)。特殊情况:指定为@all,则向该企业应用的全部成员发送
"toparty" : toparty, ##部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
"totag" : "", #标签ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
"msgtype" : "text", #消息类型,此时固定为:text
"agentid" : agentid, #企业应用的id,整型。可在应用的设置页面查看
"text" : {
"content" : content #消息内容,最长不超过2048个字节
},
"safe":0 #表示是否是保密消息,0表示否,1表示是,默认0
}
value = json.dumps(data) ##转换为str格式 request = requests.post(send_messages_url, data=value) ##post请求发送数据
request_result = request.status_code ##获取请求码
if request_result == 200:
print "【%s】消息发送成功"%content
else:
print "【%s】消息发送失败"%content if __name__ == '__main__':
access_token = get_access_token(get_access_token_url)
send_messages(access_token,toparty,agentid,message)
3.创建报警媒介类型,尝试次数:3,尝试间隔10s
脚本参数说明:
{ALERT.SENDTO} #发送给哪个部门
{ALERT.SUBJECT} #发送的标题
{ALERT.MESSAGE} #发送的内容

4.创建用户报警媒介

5.创建动作触发器


配置信息:
【项目】:豆豆打僵尸,【状态】:{TRIGGER.STATUS},【服务器】:{HOST.IP},【问题】: {TRIGGER.KEY1} 【告警项目】: 豆豆打僵尸
【告警主机】: {HOST.IP}
【告警时间】: {EVENT.DATE} {EVENT.TIME}
【告警等级】: {TRIGGER.SEVERITY}
【告警项目】: {TRIGGER.KEY1}
【问题详情】: {ITEM.NAME} {ITEM.VALUE}
【当前状态】: {TRIGGER.STATUS} {ITEM.VALUE1} 故障
【事 件 ID】: {EVENT.ID} ================================================================ 【项目】:豆豆打僵尸,【状态】:{TRIGGER.STATUS},【服务器】:{HOST.IP},【问题】: {TRIGGER.KEY1} 恢复 【恢复项目】: 豆豆打僵尸
【恢复主机】: {HOST.IP}
【告警时间】: {EVENT.DATE} {EVENT.TIME}
【恢复时间】: {EVENT.DATE} {EVENT.RECOVERY.TIME}
【恢复等级】: {TRIGGER.SEVERITY}
【恢复项目】: {TRIGGER.KEY1}
【问题恢复】: {ITEM.NAME} {ITEM.VALUE}
【当前状态】: {TRIGGER.STATUS} {ITEM.VALUE1} 恢复
【事 件 ID】: {EVENT.ID}
zabbix企业微信告警配置教程的更多相关文章
- zabbix实现微信告警配置
zabbix设置微信报警的配置过程 zabbix的报警方式有很多,在这里我们来详细说明一下如何通过微信报警 微信企业号的申请 注册的地址https://qy.weixin.qq.com/ 这样企业就 ...
- zabbix(LNMP)的企业微信告警
一.简介 KVM+虚拟机的基于LNMP平台zabbix3.0的监控系统.能通过企业微信实现服务器状态的告警功能! 二.环境 服务器:DELL 710 32G RIDA 5 系统:Linux 3. ...
- zabbix3.4.7实现企业微信告警,亲测可用!
Zabbix 新版微信告警 Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信 ...
- Zabbix 新版微信告警-转载
Zabbix 新版微信告警 Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信 ...
- Zabbix实现微信告警
zabbix实现微信告警可以分为以下两个步骤: 在百度告警告警平台实现微信告警 将Zabbix接入百度告警平台 微信告警 实现微信告警只需要如下四步: 个人主页关注微信 升级策略配置微信告警 服务管理 ...
- zabbix python 微信告警脚本
测试zabbix的微信告警耗费了大量时间,使用了开源工具(OneOaaS weixin-alert).shell脚本工具(手动执行正常,服务器调用失败),均没有实现相关功能以下是自己优化过的Pytho ...
- python3.6-Yelp/elastalert0.2.1-elk7.2.0邮件加企业微信告警
0.修改时区(前提条件已经安装好elk7.2) rm -f /etc/localtimecp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimetimed ...
- Java企业微信开发_07_总结一下企业微信的配置
一.企业微信后台 1.回调url 2.可信域名 3.菜单跳转按钮中的链接 4.PC端网页授权 二.代码内 1.企业微信的配置信息:WeiXinParamesUtil
- 【zabbix】微信告警消息模版
下面给出了一个zabbix微信告警消息的模版, 消息最后加上#号和短横线的设计有两个原因: 1,zabbix的微信告警消息总是被截断,比如最后一个告警时间,如果没有最后一行#号,在微信上看的时候时间不 ...
随机推荐
- Hinton等人最新研究:大幅提升模型准确率,标签平滑技术到底怎么用?
Hinton等人最新研究:大幅提升模型准确率,标签平滑技术到底怎么用? 2019年07月06日 19:30:55 AI科技大本营 阅读数 675 版权声明:本文为博主原创文章,遵循CC 4.0 B ...
- PyQt5创建多线程
参阅: https://blog.csdn.net/chengmo123/article/details/96477103 https://www.cnblogs.com/zhuminghui/p/9 ...
- windows server 2008 R2 Enterprise 防火墙开启允许远程桌面登录
解决方法: 开始------ > 运行 ----- > gpedit.msc 打开“本地组策略编辑器”,按如下设置:计算机配置----->管理模板----->网络-----&g ...
- exclipe怎么设置编码为UTF-8
如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文输出,则最好使 Java文件使用UTF-8编码.然而,Eclipse工作空间(workspace)的缺省字符编码是操作系统缺省的编码,简 ...
- 数值或者电话号码被EXCEL转成了科学计数法,用XSSFCell 如何读取
public static Map<String, Integer> readXls() throws IOException { //用来获取每一个小号重复多次,被多少账号用了.来平均 ...
- python之数字类型小知识
数字是表示计数的抽象事物,也是数学运算和推理的基础,所以,生活中数字是生活中无处不在的,那么,在python语言中运用数字有哪些小知识呢,不妨花点时间看一下这篇博文,牢记这些小知识. 整数类型中四种进 ...
- java实现spark常用算子之Repartitions
import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.a ...
- RedisCluster 添加/删除节点
一,redis cluster命令行 //集群(cluster) CLUSTER INFO 打印集群的信息 CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息. ...
- 【漏洞分析】Discuz! X系列全版本后台SQL注入漏洞
0x01漏洞描述 Discuz!X全版本存在SQL注入漏洞.漏洞产生的原因是source\admincp\admincp_setting.php在处理$settingnew['uc']['appid' ...
- Web开发的分层结构与MVC模式
1.分层结构 所谓分层结构.把不同的功能代码封装成类,把相同功能的类封装在一个个的包中,也叫层.功能归类如下: 实体类: 封装数据,是数据的载体,在层与层之间进行传递,数据也就传递了.比如说要传递学生 ...