zabbix5.0 自定义脚本告警+钉钉机器人

zabbix5.0 自定义脚本告警+钉钉机器人

1、创建钉钉机器人

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、机器人脚本部署
[root@vm62 ~]# pip3 install json
[root@vm62 ~]# pip3 install requests
[root@vm62 ~]# cd /usr/lib/zabbix/alertscripts/	#此路径为zabbix自定义脚本路径
[root@vm62 alertscripts]# cat alertding.py 
#!/usr/bin/python3

import json
import requests
import sys

def send_msg(url, remiders, msg):
    print("begin")
    headers = {'Content-Type': 'application/json; charset=utf-8'}
    data = {
        "msgtype": "text",
        "at": {
            "atMobiles": remiders,
            "isAtAll": False,
        },
        "text": {
            "content": msg,
        }
    }

    r = requests.post(url, data=json.dumps(data), headers=headers)
    print("ok")
    return r.text

if __name__ == '__main__':
   #msg = "zabbix告警机器:"
	# 习惯加上钉钉机器人的关键字(我实际是想用关键字:zabbix告警,但手误多输入了“机器”,可以在钉钉机器人界面修改关键字的)
    msg = "zabbix告警机器:"+sys.argv[1]+"\n"+sys.argv[2]
    # remiders 指告警联系人手机号,
    remiders = [150*****606]
    # 钉钉机器人的url连接
    url = 'https://oapi.dingtalk.com/robot/send?access_token=****'
    print(send_msg(url, remiders, msg))
3、zabbix端添加自定义动作和告警

在这里插入图片描述
在这里插入图片描述

> 安装依赖包,否则可能会出现下列错误
yum install python3-requests -y

错误如下,实际已安装requests,但zaabix控制台识别不了。
import requests
ModuleNotFoundError: No module named 'requests'

在这里插入图片描述
在这里插入图片描述

4、创建自定义动作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 告警内容设置
# 触发告警
主题:服务器:{HOST.NAME}发生:{TRIGGER.NAME}故障!
消息:{
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE}-{EVENT.TIME}
事件ID:{EVENT.ID}
}
# 告警恢复
主题:服务器:{HOST.NAME}发生:{TRIGGER.NAME}故障恢复!
消息:{
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE}-{EVENT.TIME}
事件ID:{EVENT.ID}
}
要配置Zabbix 5.0使用WebHook进行报警,您可以按照以下步骤进行操作: 1.Zabbix Server的WEB界面上配置报警媒介类型为脚本。您可以使用JavaScript编写脚本来发送报警信息。 2. 注册企业微信机器人。您需要在企业微信中创建一个机器人,以便用于发送报警信息。 3. 创建一个日志文件,并设置文件权限。您可以使用以下命令创建并设置权限: ``` # touch /var/log/zabbix/dingding.log # chown zabbix.zabbix /var/log/zabbix/dingding.log ``` 4. 添加Zabbix媒介类型为脚本,并指定刚刚创建的dingding.py脚本。在Zabbix的WEB界面上,添加一个新的媒介类型,将其类型设置为脚本,并指定脚本名称为dingding.py。 5. 创建一个动作。在Zabbix的WEB界面上,创建一个新的动作,设置动作名称,并添加一个条件,以便触发报警条件为大于等于警告级别。 6. 添加报警操作和恢复操作。在动作配置中,添加报警操作和恢复操作。在报警操作中,设置报警信息的内容,包括问题名称、告警组、主机信息、告警时间、告警等级、警报类别等。您可以根据需要自定义报警信息的格式。 7. 保存并测试配置。完成以上配置后,保存并测试您的配置是否生效。可以通过模拟一个告警事件,确认是否能正确地通过WebHook发送报警信息。 通过以上步骤,您可以成功地配置Zabbix 5.0使用WebHook进行报警。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值