1.创建钉钉机器人
在钉钉中创建群聊,然后在设置中创建钉钉机器人。
机器人名字随便,安全设置我选择【自定义关键词】,并设置内容为zabbix,即机器人收到的每条消息内容均需要带“zabbix”才可以发出。
复制保留Webhook的内容,以便后面使用。
2. 配置zabbix-server
在zabbix-server端查看zabbix_server.conf配置文件,查找AlertScriptsPath=字段,记住对应的路径。
vim /etc/zabbix/zabbix_server.conf
我这里的路径是/usr/lib/zabbix/alertscripts
进入该目录,创建脚本。
cd /usr/lib/zabbix/alertscripts
vim dingding.py
文件内容如下:
#!/usr/bin/env python
#coding:utf-8
import requests
import json
import sys
import os
headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "这里填入钉钉机器人的webhook"
def msg(text):
json_text= {
"msgtype": "text",
"text": {
"content": text
},
}
print requests.post(api_url,json.dumps(json_text),headers=headers).content
if __name__ == '__main__':
text = sys.argv[1]
msg(text)
保存退出后,修改文件的可执行权限:
chmod +x /usr/lib/zabbix/alertscripts/dingding.py
测试发送消息,可以看到钉钉群可以收到发送的消息了。【注意:这里你的服务器可能会出现报错,提示缺少相关的包,按照提示下载安装即可】
python dingding.py "zabbix监控告警消息测试"
3. zabbix的web界面配置
3.1 创建告警媒介
创建告警媒介,在web页面上点击【管理】-【报警媒介类型】-【创建告警媒介】
,名称随意,类型选择脚本,脚本名称输入我们创建的脚本名称dingding.py,脚本参数输入{ALERT.MESSAGE},由于我们的python脚本只有1个输入变量,所以我们这里的参数也只需要1个就可以了。
3.2 配置收件人
这里我们演示的是给admin账号配置收件信息,实际中也可以给其他账号配置,步骤一样的。
点击【管理】-【用户】-【Admin】,点击【报警媒介】
类型选择我们刚刚创建的【钉钉告警】,收件人随便填,没有用。其他的可以按需选择。
3.3 创建动作
打开【配置】-【动作】,点击【创建动作】
名称随便填,加入新的触发条件,一般可以选择监控模板,或者主机,计算方式一般选择【或】
接着点击【操作】,默认时间指发送告警信息的间隔时间,我这里为了测试的时效性填了60s,消息内容可以看自己的喜好,我这里也把我的贴在下面,可以复制参考;
我的消息内容如下,由于我们的python脚本只有1个文本参数,所以我们可以不用配置标题,所有告警内容都在消息内容里发出即可。*注意:由于前面我们在钉钉中配置的机器人的消息中必须含有zabbix字段,所以我们要在消息内容中含有zabbix。
【zabbix告警】
告警问题:{EVENT.NAME}
告警时间:{EVENT.DATE}-{EVENT.TIME}
告警主机:{HOST.NAME}
告 警 IP:{HOST.IP}
监控项目:{ITEM.NAME}
故障等级:{EVENT.SEVERITY}
在【操作细节】下面点击【添加】,选择发送到的用户或者群组,选择发送媒介,这里我只选择了【钉钉告警】,然后点击添加。
接下来切换到【恢复操作】界面,恢复操作是指故障恢复后发送的消息内容,其他地方一样的配置。注意的是同样需要在内容中包含zabbix,才能顺利发到钉钉上。
【zabbix告警恢复】
恢复时间:{EVENT.DATE}-{EVENT.TIME}
告警名称:{EVENT.NAME}
告警主机:{HOST.NAME}
告 警 IP:{HOST.IP}
告警等级:{EVENT.SEVERITY}
接下来切换到【更新操作】界面,配置也同上。注意三个操作都要添加上操作细节。
【zabbix告警更新】
{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.
{EVENT.UPDATE.MESSAGE}
Current problem status is {EVENT.STATUS}, acknowledged: {EVENT.ACK.STATUS}.
到了这里配置就完成了,保存好动作就可以了。
4. 告警生效测试
完成所有的配置后,我们就可以进行测试了。
此处我这里以监控服务器端口为例,我创建了1个【监控项】和1个【触发器】,具体操作手册不在此处详解了。我的触发器监听服务器的19000端口。
接下来在服务器中kill掉19000端口的进程,然后就收到了钉钉群消息。
然后我们再把进行启动,约60s后,就收到了恢复的信息。
文章来源:https://www.toymoban.com/news/detail-500515.html
好啦,到这里咱们的配置钉钉机器人的过程就结束啦!文章来源地址https://www.toymoban.com/news/detail-500515.html
到了这里,关于zabbix4.0配置钉钉机器人告警详细教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!