钉钉机器人自定义回复_基于zabbix4.2配置钉钉告警机制及流程测试

概述

环境:centos7.3 zabbix4.2

zabbix通过钉钉机器人进行报警通知,能监视各种网络参数,保证服务器系统的安全运营;灵活的通知机制使用效果还是挺不错的,群机器人是钉钉群的高级扩展功能。群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。例如:通过聚合GitHub,GitLab等源码管理服务,实现源码更新同步;通过聚合Trello,JIRA等项目协调服务,实现项目信息同步。不仅如此,群机器人支持Webhook协议的自定义接入,支持更多可能性,例如:可将zabbix运维报警提醒通过自定义机器人聚合到钉钉群。

下面介绍下zabbix应该怎么去配置钉钉告警~


一、添加钉钉群机器人,获取webhook地址

钉钉提供了一个 webhook 地址,获取到Webhook地址后,用户可以使用任何方式向这个地址发起 HTTP POST 请求,即可实现给该群组发送消息。

群助手--添加机器人--自定义(通过webhook接入自定义服务)

9aad50864be1315574da3eda3ac83293.png

二、添加zabbix钉钉推送脚本

1、python安装requests模块

--安装setuptoolwget https://files.pythonhosted.org/packages/e0/02/2b14188e06ddf61e5b462e216b15d893e8472fca28b1b0c5d9272ad7e87c/setuptools-38.5.2.zipunzip  setuptools-38.5.2.zipcd setuptools-38.5.2python setup.py install--安装pipwget https://files.pythonhosted.org/packages/ce/ea/9b445176a65ae4ba22dce1d93e4b5fe182f953df71a145f557cffaffc1bf/pip-19.3.1.tar.gztar -xvf pip-19.3.1.tar.gzcd pip-19.3.1--安装requestspip install requests 

2、查看zabbix_server脚本路径

vim /etc/zabbix/zabbix_server.conf==============================================AlertScriptsPath=/usr/lib/zabbix/alertscripts==============================================

3、配置钉钉推送脚本

cd /usr/lib/zabbix/alertscriptsvim dingding.py====================================================================================================#!/usr/bin/env python#coding:utf-8#zabbix钉钉报警import requests,json,sys,os,datetimewebhook="https://oapi.dxxxxx"user=sys.argv[1]text=sys.argv[3]data={    "msgtype": "text",    "text": {        "content": text    },    "at": {        "atMobiles": [            user        ],        "isAtAll": False    }}headers = {'Content-Type': 'application/json'}x=requests.post(url=webhook,data=json.dumps(data),headers=headers)if os.path.exists("/var/log/dingding.log"):    f=open("/var/log/dingding.log","a+")else:    f=open("/var/log/dingding.log","w+")f.write(""+"--"*30)if x.json()["errcode"] == 0:    f.write(""+str(datetime.datetime.now())+"    "+str(user)+"    "+"发送成功"+""+str(text))    f.close()else:    f.write(""+str(datetime.datetime.now()) + "    " + str(user) + "    " + "发送失败" + "" + str(text))    f.close()====================================================================================================--授权chmod -R 755 /usr/lib/zabbix/alertscripts/dingding.pychown -R zabbix:zabbix  /usr/lib/zabbix/alertscripts/dingding.pychown -R zabbix:zabbix /var/log/dingding.log

4、测试

 ./dingding.py test 18812341234 "测试告警信息,请忽略"
3eb4376b4b0452321dafd92777d7bc79.png

收到消息如下:

aaa13cafa9dd2ccb297801320edaa489.png

三、web界面添加报警媒介、动作、授权报警用户

1、创建报警媒介(管理--报警媒介类型--创建媒体类型)

三个参数分别是:{ALERT.SENDTO} 、 {ALERT.SUBJECT}、{ALERT.MESSAGE}

d9bfc77a7c851be55207f7adfaef3d55.png

测试:

d2e8e2b2ae3939cbc0c1c693d6d216c2.png

2、用户添加报警媒介(管理--用户--Admin--报警媒介)

收件人是钉钉上的手机号码.这里使用Admin管理员用户,在Admin用户的"报警媒介"里添加收件人信息
特别注意:这里只需要添加钉钉群里的任何一个成员的手机号码即可,即添加一个收件人,这样在机器人群里成员都能看到告警信息.
如果添加多个收件人,则机器人群里就会发送多个告警信息,一个收件人发一条信息.

d433f881dd92831cc28ee296216885ef.png

3、添加动作(配置--动作--创建动作)
动作里的报警信息和恢复信息都发送给Admin用户.

3.1、告警动作

f7491fcee197121218330e03e74fb5e4.png
3758274a2e2b8d4af9bf4f40ad3bf927.png

3.2、恢复动作

a5aa809d377ea1128a5b1dbbf877ee1c.png
6f5b2185bba2b3f7fafc932bfb0d6d7b.png

四、测试钉钉告警

1、停启某台服务器的zabbix客户端

systemctl status zabbix-agent.servicesystemctl stop  zabbix-agent.servicesystemctl start  zabbix-agent.service

2、钉钉群告警界面

这里每行空的有点多,太难看了,后面优化下~

发生故障提示:

e0b2cf97a12247fd3a684a4e9b0dde02.png

故障解决提示:

8748b55b8bbcf0bdc0d9471e5269ea35.png

3、zabbix告警日志

观察/var/log/dingding.log提示:

66ca14d6764d1b2b73d881e74b8f5032.png

到这里关于zabbix配置钉钉告警的部分就介绍完了,有空的朋友可以玩一下~

后面会分享一下更多devops和DBA方面内容,感兴趣的朋友可以关注下!

907eac14af27f1f8f881b41e9cb4a1a5.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值