首页 > 名字大全 > 微信名字 正文
【微信群发名字脚本】Zabbix 5系列微信实时报警

时间:2023-02-26 07:00:31 阅读: 评论: 作者:佚名

1.微信警报:

除了邮政警报和钉钉警报外,Zabbix还可以通过微信警报或只要有API就能想到的警报方法来实施zabbix。越灵活的警报机制,就越能及时有效地将警报信息推送到负责人手中,从而及时处理问题。

在看这篇文章之前,最好看我的前一篇未能报警。因为在这篇文章中,媒体的设置、动作的设置等介绍比较简单,主要是实现功能,在前面的文章中,每个参数都做了详细的介绍。

Zabbix 5系列指甲实时报警

1.1注册微信企业号:

企业号码注册地址:填写企业注册信息,个人也可以申请,无需认证即可进行预警测试。

申请企业微信后,可以在通讯录中添加部门,可以运营运营商,如果是测试的话,可以直接发给管理员。

1.2创建应用程序:

单击应用程序管理-要创建应用程序,请单击下面-上传应用程序徽标-输入应用程序名称-选择可见范围(整个部门或指定人员),创建后:

1.3微信接口调试:

1.4配置微信脚本:

创建脚本:

[root @ localhostsrc]# cat/usr/lib/zabbix/alert scripts/wechateof

#!/usr/bin

# _ * _ coding 3360 utf-8 _ * _

Import requests、sys和json

Import urllib3

Urllib3.disable_warnings()

Reload(sys)

(' UTF-8 ')

Def gettokenfromserver (corpid、secret) :

URL='

Data={

Corpid'Corpid,

Corpsecret'Secret

}

R=reque (URL=URL,params=data,verify=false)

Prin())

If r.json()['errcode']!=0:

Return False

Else:

令牌=r.json () ['access _ token']

file=open('/TM;' w ')

)。

()

Return Token

Def sendmessage (user、agentid、subject、content) :

tree :

file=open('/TM;' r ')

令牌=j(文件)['access _ token']

()

Except:

令牌=gettokenfromserver (corpid、secret)

N=0

URL='% Token

Data={

Touser' User,#指定用户通知,在web上绑定用户的帐户

#'totag' Tagid,#为企业编号指定标签id以大量使用

Toparty' Partyid,#指定企业编号的部门id。

Msgtype' 'text '#消息类型。

#34;agentid": Agentid,     # 企业号中的应用id。       "text": {           "content": Subject + '\n' + Content },       "safe": "0"   }   r = reque(url=Url,data=j(Data),verify=False)   while r.json()['errcode'] != 0 and n < 4:       n+=1       Token = GetTokenFromServer(Corpid, Secret)       if Token:           Url = "; % Token           r = reque(url=Url,data=j(Data),verify=False)           prin())   return r.json()     if __name__ == '__main__':   User = [1]   Subject = str([2])   Content = str([3])   # CorpID 企业号的标识   Corpid = "ww5922d1****"   # Secret 应用凭证密钥,在应用管理-点击机器人-查看secret可以得到   Secret = "PfrnUym8qOw5s64*"   # 通讯录标签ID   #Tagid = "1"   # 应用ID   Agentid = "1000008"   # 部门ID   Partyid = "1"   Status = SendMessage(User,Agentid,Subject,Content)   print Status ### 安装模块: [root@localhost src]# yum install python-pip -y [root@localhost src]# pip install requests # 测试脚本: [root@node1 alertscripts]# ./wechat lutixia test "nginx down" {u'invalidparty': u'1', u'invaliduser': u'', u'errcode': 0, u'errmsg': u'ok'}

1.5 web端创建报警媒介:

1.6 用户绑定媒介:

1.7 配置动作:

1.8 测试告警:

### 在122服务器,关闭redis服务: [root@localhost ~]# systemctl stop redis ### 在122服务器,开启redis服务: [root@localhost ~]# systemctl start redis

1.9 发送部门/组告警:

上面的告警是针对某人告警,在用户绑定媒介那里send to user这个user是通讯录中用户的账号(唯一标识,不是姓名)。如果是想对某个部门告警,那么这个user写啥就无所谓了,只需要修改脚本,把touser改为toparty,然后在脚本中指定Partyid的值即可。

#!/usr/bin #_*_coding:utf-8 _*_ 。。。       # "touser": User,       # 把发送用户注释掉       "toparty": Partyid,     # 把发送部门打开       "msgtype": "text",           "agentid": Agentid,     。。。   # 通讯录标签ID   #Tagid = "1"   # 应用ID   Agentid = "1000008"   # 指定部门ID(在通讯录中可以看到)   Partyid = "2" 。。。

1.10 测试告警:

### 在122服务器,关闭redis服务: [root@localhost ~]# systemctl stop redis

以上就是微信告警的配置,实验起来不难,有问题可以评论区交流。

欢迎点赞,收藏,你的喜欢就是我原创的动力,zabbix 5系列将会持续更新。

  • 评论列表

发表评论: