描述:由于现在移动端的使用已经是一个必备,而且微信的使用更加流行,如下是介绍zabbix实现微信告警的结合
1、注册免费的企业微信号
企业微信

2、创建企业应用并记录agentld和secret

3、记录企业信息号

4、准备python环境

yum install -y openssl-devel #依赖
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
tar -xzvf Python-3.6.2.tgz
cd Python-3.6.2
./configure --prefix=/usr/local/python3 && make && make install
/usr/local/python3/bin/pip3 install requests #安装python的库

  

5、在zabbix告警目录下提供相应的脚本sendtowechat.py,并赋予执行权限

#!/usr/local/python3/bin/python3
# -*- coding:utf-8 -*-
import requests
import json
import sys
# 企业号及应用相关信息
corp_id = 'xxxxxxx'
corp_secret = 'xxxxxxx'
agent_id = xxxxxx
# 存放access_token文件路径
file_path = '/tmp/access_token.log'def get_access_token_from_file():
try:
f = open(file_path,'r+')
this_access_token = f.read()
print('get success %s' % this_access_token)
f.close()
return this_access_token
except Exception as e:
print(e)# 获取token函数,文本里记录的token失效时调用
def get_access_token():
get_token_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s' % (corp_id, corp_secret)
print(get_token_url)
r = requests.get(get_token_url)
request_json = r.json()
this_access_token = request_json['access_token']
print(this_access_token)
r.close()
# 把获取到的access_token写入文本
try:
f = open(file_path,'w+')
f.write(this_access_token)
f.close()
except Exception as e:
print(e)# 返回获取到的access_token值
return this_access_token# sendMessage
# 死循环,直到消息成功发送
flag = True
while(flag):
# 从文本获取access_token
access_token = get_access_token_from_file()
try:
to_user = '@all'
message = sys.argv[3]
send_message_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s' % access_token
print(send_message_url)
message_params = {
"touser":to_user,
"msgtype":"text",
"agentid":agent_id,
"text":{
"content" : message
},
"safe":0
}
r = requests.post(send_message_url, data=json.dumps(message_params))
print('post success %s ' % r.text)
# 判断是否发送成功,如不成功则跑出异常,让其执行异常处理里的函数
request_json = r.json()
errmsg = request_json['errmsg']
if errmsg != 'ok': raise
# 消息成功发送,停止死循环
flag = False
except Exception as e:
print(e)
access_token = get_access_token()

6、修改zabbix web的告警设置(create media type)


参数解释:
{ALTER.SENDTO} # 发送给谁,该参数在邮件告警中有作用,但微信告警中没有
{ALTER.SUBJECT} # 告警标题,该参数在邮件告警中有作用,但微信告警中没有
{ALTER.MESSAGE} # 告警内容,在微信告警中有用

7、修改告警内容

{HOST.NAME1}
{IPADDRESS}
{ITEM.KEY1}: {ITEM.VALUE1}Item info:
Item name: {ITEM.NAME1}Trigger Info:
Trigger: {TRIGGER.NAME}
Trigger status: {TRIGGER.STATUS}
Trigger severity: {TRIGGER.SEVERITY}Original event ID: {EVENT.ID}

  

8、企业微信号里添加成员

9、在zabbix web的管理账户中添加相应有media

10、在手机端下载“企业微信”的APP,并进行告警测试结果

转载于:https://www.cnblogs.com/reid21/articles/8398953.html

zabbix 配置wechat告警相关推荐

  1. zabbix配置与告警

    Zabbix 安装配置 一. 监控系统简单介绍............................................................................. ...

  2. @Zabbix配置邮箱告警及钉钉告警

    文章目录 1.邮件告警配置 1)本地mail搭建 2)zabbix server配置 3)zabbix web配置 4)查看告警动作 2.钉钉告警配置 1)创建接收告警群 2)创建群聊机器人 3)告警 ...

  3. Zabbix配置企业微信群聊机器人告警

    转载来源 : Zabbix配置企业微信群聊机器人告警 : https://www.jianshu.com/p/b5b1f92b1f15 最近在给内部使用的zabbix配置告警发送,要求是使用企业微信群 ...

  4. zabbix添加自定义监控项目-配置邮件告警-测试告警

    2019独角兽企业重金招聘Python工程师标准>>> 添加自定义监控项目: 需求:监控某台web的80端口连接数,并出图 步骤:1.zabbix监控中心创建监控项目: 客户端定义脚 ...

  5. Zabbix 配置钉钉脚本告警(4)

    title: Zabbix 配置钉钉脚本告警(4) date: 2018-12-10 11:50:21 tags: Zabbix categories: Zabbix copyright: true ...

  6. Zabbix 配置钉钉告警功能

    需求 Zabbix配置钉钉告警和Prometheus配置钉钉告警类似.只不过Zabbix通过钉钉告警是通过Python脚本实现.而Prometheus是通过钉钉的二进制包实现. 我们现在主要来讲解Za ...

  7. php永久mediaid,幺蛾子事件之-zabbix配置告警媒介报错mediaid重复

    幺蛾子事件之-zabbix配置告警媒介报错mediaid重复 admin • 2020 年 12 月 21 日 直接开篇点题好吧zabbix运行一段时间后,添加报警媒介类型后,添加收件人信息后保存报错 ...

  8. [个人笔记] Zabbix配置钉钉群聊告警机制

    系统工程 - 运维篇 第二章 Zabbix配置钉钉群聊告警机制 系统工程 - 运维篇 系列文章回顾 下章内容 前言 实施步骤 Zabbix配置钉钉群聊告警机制 新增监控主机,添加监控项,触发器 导入自 ...

  9. Zabbix 配置钉钉告警

    需求 Zabbix配置钉钉告警和Prometheus配置钉钉告警类似.只不过Zabbix通过钉钉告警是通过Python脚本实现.而Prometheus是通过钉钉的二进制包实现. 钉钉的设置可以参看我的 ...

最新文章

  1. viewport使用 html5
  2. CentOS SVN服务器管理多项目
  3. JavaScript Array reverse 方法:颠倒数组中元素的顺序
  4. python account_GitHub - Python3WebSpider/AccountPool: Account Pool
  5. vtuber面部捕捉工具_泰国程序员开发VTuber形象生成系统,人人都能当虚拟偶像
  6. Bzoj5093: 图的价值
  7. Express实现路由分发控制、RESTful API
  8. 【计算机系统设计】实践笔记(2)数据通路构建:第一类R型指令分析(1)
  9. 10个简单步骤,完全理解SQL
  10. 中国最闷声发大财的城市,人均GDP超杭州
  11. 【原创】设计模式面对面之观察者模式
  12. java 截取掉数字前面的0_java 保留字符串数字的位数,不够前面补0
  13. MessageBox用法大全
  14. Firefox七种武器之firebug
  15. java 去掉连续重复字符串_替换Java中连续的重复字符
  16. Mysql主从复制和Redis主从复制
  17. kernel中ksm特性
  18. Arista中国战略升级 加码布局园区网络
  19. 敏捷与数字化转型银行_使敏捷人超越数字化
  20. 中学学校计算机教室平面布置图,学校布局平面图.doc

热门文章

  1. memcpy的使用方法总结
  2. STP、RSTP、MSTP
  3. LeetCode OJ -- Binary Tree Paths
  4. 将外部知识整合到群体智能中,以获得更具体的知识
  5. 转一个,中文分词方法概述
  6. 【Python-ML】SKlearn库性能指标ROC-AUC
  7. 调整搜索二叉树中两个错误的节点
  8. LeetCode刷题中遇到的一些知识点
  9. linux studo命令,在 Linux 上使用 Visual Studio 开发环境
  10. 线程的创建与启动——Thread 类有两个常用的构造方法:Thread()与 Thread(Runnable)||多线程运行结果是随机的