zabbix钉钉报警

全部参考的那篇转载文档做的

1.在钉钉中添加机器人,点击头像,机器人管理

添加自定义机器人,选择群组,这里我用的IP地址,填上zabbix监控的主机IP,只能这台机器连接该机器人。

得到webhook复制等下填入ding.py脚本

2.在/usr/lib/zabbix/alertscripts/下创建发送脚本(yum源安装zabbix存放脚本的默认路径,有更改的话在配置文件里查一下,grep alertscripts /etc/zabbix/zabbix_server.conf )

vim /usr/lib/zabbix/alertscripts/ding.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests
import json
import sys
import os
headers = {'Content-Type': 'application/json;charset=utf-8'}
#api_url后跟告警机器人的webhook
api_url = "https://oapi.dingtalk.com/robot/send?access_token=dd53f2b4476062921174157a545e8efxxxxxxa8c95c5eedcf5e3e6e35d7e1"
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)

3.给ding.py执行权限,并测试一下:

chmod +x ding.py
./ding.py test

出现{"errmsg":"ok","errcode":0}则发送成功,可以去钉钉上查看消息

4.创建报警媒介

管理-->报警媒介类型-->创建媒体类型

这里注意只需要{ALERT.MESSAGE}这个参数,代表详细内容,这个钉钉脚本只有一个位置变量,一次只发送一个消息,和邮件报警还需要收件人地址和标题的三个参数不一样。

5.配置动作

配置-->动作-->创建动作

动作里选触发器,然后选择对应的被监控主机的触发器,可以如图添加多个

动作里的操作部分

告警通知: {EVENT.NAME}

告警时间:{EVENT.TIME}
告警项目:{TRIGGER.KEY1}
告警主机: {HOST.NAME}
告警级别: {EVENT.SEVERITY}
事件原始ID: {EVENT.ID}
{TRIGGER.URL}

注意添加操作细节,必须选一个用户或者组来操作,执行dingding报警媒介

恢复操作

问题已解决: {EVENT.NAME}

解决时间:{EVENT.RECOVERY.TIME}
主机: {HOST.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}
事件原始ID: {EVENT.ID}
{TRIGGER.URL}

同样别忘了操作细节,更新操作我就没加了

6.用户添加报警媒介

管理-->用户-->我是直接用admin

7.最后测试一下,我现在加的触发器动作全是ICMP的报警,在创建报警之前就以前挂掉的机器不会触发动作,所以我又重新加了台测试机,加进去后直接关机测试

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值