Zabbix实现企业微信报警

这篇具有很好参考价值的文章主要介绍了Zabbix实现企业微信报警。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

zabbix实现企业微信报警

1、下载安装手机版企业微信
2、注册账户,并创建一个企业,之后向企业中添加员工
3、找到我的企业—>记录企业ID:ww1d1845f4b25a12fb
zabbix企业微信报警,云计算,linux,python
4、在企业下创建部门,并记录部门ID:3
zabbix企业微信报警,云计算,linux,python
zabbix企业微信报警,云计算,linux,python

5、创建应用,并记录应用ID和secret,ID:1000003,secret:ItmpP6TjPNvx6aSlvRCYrkgK5BPWiqTrMf3xhKjUnLo
zabbix企业微信报警,云计算,linux,python
zabbix企业微信报警,云计算,linux,python

6、编写python脚本,将上面记录的信息填到对应地方(脚本在zabbix-server服务器中)

[root@zabbix-server ~]# vim /usr/lib/zabbix/alertscripts/wechat.py

脚本内容为:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import urllib,urllib2,json
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
class WeChat(object):
        __token_id = ''
        # init attribute
        def __init__(self,url):
                self.__url = url.rstrip('/')
                self.__corpid = 'ww1d1845f4b25a12fb'
                self.__secret = 'ItmpP6TjPNvx6aSlvRCYrkgK5BPWiqTrMf3xhKjUnLo'
        # Get TokenID
        def authID(self):
                params = {'corpid':self.__corpid, 'corpsecret':self.__secret}
                data = urllib.urlencode(params)
                content = self.getToken(data)
                try:
                        self.__token_id = content['access_token']
                        # print content['access_token']
                except KeyError:
                        raise KeyError
        # Establish a connection
        def getToken(self,data,url_prefix='/'):
                url = self.__url + url_prefix + 'gettoken?'
                try:
                        response = urllib2.Request(url + data)
                except KeyError:
                        raise KeyError
                result = urllib2.urlopen(response)
                content = json.loads(result.read())
                return content
        # Get sendmessage url
        def postData(self,data,url_prefix='/'):
                url = self.__url + url_prefix + 'message/send?access_token=%s' % self.__token_id
                request = urllib2.Request(url,data)
                try:
                        result = urllib2.urlopen(request)
                except urllib2.HTTPError as e:
                        if hasattr(e,'reason'):
                                print 'reason',e.reason
                        elif hasattr(e,'code'):
                                print 'code',e.code
                        return 0
                else:
                        content = json.loads(result.read())
                        result.close()
                return content
        # send message
        def sendMessage(self,touser,message):
                self.authID()
                data = json.dumps({
                        'touser':touser,
                        'toparty':3,
                        'msgtype':"text",
                        'agentid':"1000003",
                        'text':{
                                'content':message
                        },
                        'safe':"0"
                },ensure_ascii=False)
                response = self.postData(data)
                print response

if __name__ == '__main__':
        a = WeChat('https://qyapi.weixin.qq.com/cgi-bin')
        a.sendMessage(sys.argv[1],sys.argv[3])

7、修改权限

[root@zabbix-server ~]# chmod 777 /usr/lib/zabbix/alertscripts/wechat.py
[root@zabbix-server ~]# chown zabbix:zabbix /usr/lib/zabbix/alertscripts/wechat.py

8、在zabbix-server端进行脚本测试

[root@zabbix-server alertscripts]# /usr/lib/zabbix/alertscripts/wechat.py ZhangYu test hellohellohello
root@zabbix-server alertscripts]# /usr/lib/zabbix/alertscripts/wechat.py ZhangYu www helphelphelp
zabbix企业微信报警,云计算,linux,python
注意:ZhangYu是在企业微信中的用户名。
zabbix企业微信报警,云计算,linux,python
机上收到信息说明脚本正常使用。
zabbix企业微信报警,云计算,linux,python

8、在zabbix-server的web界面中创建报警媒介
zabbix企业微信报警,云计算,linux,python
zabbix企业微信报警,云计算,linux,python
9、为用户添加告警媒介(可以新建用户,也可以直接使用管理员账户admin),让这个用户关联告警媒介,并添加收件人

注意:类型(创建的告警媒介)、收件人(企业微信中的那个用户)
zabbix企业微信报警,云计算,linux,python
10、创建动作,实现企业微信告警(当有触发器被触发时,发送告警给特定用户)
zabbix企业微信报警,云计算,linux,python
定义动作:使用触发器,触发器自己定义,我这里用的是之前为了监控nginx运行状态创建的触发器。
zabbix企业微信报警,云计算,linux,python
定义操作:当动作被触发后,将会进行设置好的操作
zabbix企业微信报警,云计算,linux,python
zabbix企业微信报警,云计算,linux,python
发送消息的内容:
默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
默认信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

11、验证
当触发器被触发时,企业微信收到了告警信息
zabbix企业微信报警,云计算,linux,python文章来源地址https://www.toymoban.com/news/detail-802438.html

到了这里,关于Zabbix实现企业微信报警的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】内网穿透实现远程访问Zabbix企业级监控平台

    Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 本地zabbix web管理界面限制在只能局域网访问,对于远程访问

    2024年02月05日
    浏览(40)
  • zabbix企业微信告警

    目前,企业微信使用要设置可信域名 华为云搜索云函数 创建函数 选择http函数,随便输入函数名字 回到函数列表,选择刚创建的函数,创建触发器,安全模式选择none 点击右上角管理 选刚创建的api,右边操作点编辑,下一步,请求path 填 / ,点立即完成,点发布,再点发布

    2024年02月09日
    浏览(36)
  • Linux CentOS-7 系统 离线安装部署Zabbix--->自定义监控--->短信报警 详细教程

    在内网环境,我们无法连接外网,这个时候想要使用zabbix,就要进行离线安装了 安装部署zabbix有三种方法: 一是使用 源码安装 ,二是使用 RPM包安装 ,三是使用 容器部署 ,这里讲的是RPM包安装 可以自己线上下载包,也可以用我已经准备好的RPM安装包 链接:https://pan.baidu

    2024年02月04日
    浏览(38)
  • zabbix 企业级监控(2) 监控linux主机

    目录 配置开始 Zabbix添加linux主机 4.为agent.zabbix.com添加模板 环境: (隔天做的更换了IP,不影响实际操作) IP 192.168.50.50 关闭防火墙规则 更改主机名 [root@localhost ~]# vim /etc/hostname agent.zabbix.com [root@localhost ~]# hostname agent.zabbix.com [root@localhost ~]# bash 配置域名解析 [root@agent zabbix

    2024年02月16日
    浏览(29)
  • zabbix监控mysql容器主从同步状态并告警钉钉/企业微信

    前言:被监控的主机已经安装和配置mysql主从同步,和zabbix-agent插件。 mysql创建主从同步:http://t.csdn.cn/P4MYq centos安装zabbix-agent2:http://t.csdn.cn/fx74i  mysql主从同步,主要监控这2个参数指标: Slave_IO_Running: Yes Slave_SQL_Running: Yes 进入zabbix目录, cd /etc/zabbix 创建目录: mkdir scrip

    2024年02月14日
    浏览(31)
  • Linux分布式应用 Zabbix监控配置[添加主机 自定义监控内容 邮件报警 自动发现/注册 代理服务器 高可用集群]

    关闭防火墙  服务端和客户端都配置时间同步 服务端和客户端都设置 hosts 解析 设置 zabbix 的下载源,安装 zabbix-agent2 修改 agent2 配置文件 启动 zabbix-agent2 在服务端验证 zabbix-agent2 的连通性 在 Web 页面中添加 agent 主 机 点击左边菜单栏【配置】中的【主机】,点击【创建主机

    2024年02月13日
    浏览(40)
  • zabbix钉钉报警

    登录钉钉客户端,创建一个群,把需要收到报警信息的人员都拉到这个群内. 然后点击群右上角 的\\\"群机器人\\\"-\\\"添加机器人\\\"-\\\"自定义\\\", 记录该机器人的webhook值。 添加机器人 在钉钉群中,找到只能群助手 添加机器人 选择自定义机器人 添加 添加两个自定义 [故障][恢复] 完成

    2024年02月16日
    浏览(28)
  • 【完整版】zabbix企业级监控(概念、简单操作、页面优化、监控主机自己、监控linux、监控Win10)

    第三阶段基础 时  间:2023年7月19日 参加人:全班人员 内  容: zabbix企业级监控 目录 一、Zabbix概述 (一)Zabbix简介 (二)Zabbix运行条件: (三)Zabbix功能 (四)优劣势 (五)zabbix的监控原理: (六)扩展:zabbix的监控架构 (七)Grafana简介: (八)Zabbix特点 二、zabb

    2024年02月02日
    浏览(30)
  • zabbix企业级监控(监控第二台linux服务器安装部署)接上篇单台监控文章操作

    zabbix企业级监控监控linux主机 目录 【agent端配置】(监控第二台linux服务器) 1、源码安装zabbix(解包、编译、配置、安装) 2、改agent配置文件 3、启动服务 图形操作: yum -y install libxml2-devel libcurl-devel pcre-devel ntpdate  //安装依赖包 ntpdate s1a.time.edu.cn //联网时间同步清华大学源

    2024年02月17日
    浏览(29)
  • 19基础设施监控工具 Zabbix 的基本用法,包括数据采集、报警

    Zabbix 是一款免费开源的网络监控工具,可以监控各种网络设备、服务器、应用程序等,并提供报警机制。它可以在 Windows、Linux、Unix 等平台上运行,支持多种数据库(MySQL、PostgreSQL、Oracle、SQLite),同时提供了 Web 界面进行管理和监控。 Zabbix 可以通过源码或二进制包安装。

    2024年02月06日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包