zabbix配置钉钉告警(附含钉钉告警脚本 · 实战亲测无任何问题)

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

博主简介

  云计算领域优质创作者
  华为云开发者社区专家博主
  阿里云开发者社区专家博主
交流社区运维交流社区 欢迎大家的加入

文章目录

钉钉上操作钉钉告警以关键词方式告警

创建钉钉群

  • 登录钉钉
  • 创建钉钉群

手机、电脑都可以这里以电脑举例

在这里插入图片描述

这里可以自己随便选择我选择的是内部群

在这里插入图片描述

邀请好友起一个群名称就可以了

在这里插入图片描述

创建完成。

添加机器人–>设置关键词

创建完成之后点击群设置

在这里插入图片描述

往下翻找到“机器人”

在这里插入图片描述

点击添加机器人

在这里插入图片描述

添加”机器人“–>“自定义”

在这里插入图片描述

点击添加

在这里插入图片描述

在这里插入图片描述

生成webhook请保管好webhook的值后面需要用到。

请保管好webhook的值后面需要用到。

在这里插入图片描述

在这里插入图片描述

服务器上操作

  • 配置钉钉脚本

安装python或者python3教程可参考Linux下安装Python3.6.8超级详细【Linux】中安装pip详细教程

#将脚本写在/usr/lib/zabbix/alertscripts/目录下
[root@zabbix ~]# cd /usr/lib/zabbix/alertscripts/

##安装python或者python3
[root@zabbix alertscripts]# yum install python3
 
[root@zabbix alertscripts]# vim dingding.py
#!/usr/bin/env python
# -*- coding: utf-8 -*- 
import requests
import json
import sys
import os
import datetime
webhook = "https://oapi.dingtalk.com/robot/send?access_token=237132311231w4ru3rweehfiuqeor21o34u1923412werqwrq223"
user=sys.argv[1]
subject=sys.argv[2]
text=sys.argv[3]
data={
        "msgtype": "text",
        "text": {
                "content": "%s%s"%(subject,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("/usr/lib/zabbix/alertscripts/log/dingding.log"):
        f=open("/usr/lib/zabbix/alertscripts/log/dingding.log","a+")
else:
        f=open("/usr/lib/zabbix/alertscripts/log/dingding.log","w+")
f.write("\n"+"--"*30)
if x.json()["errcode"] == 0:
        f.write("\n"+str(datetime.datetime.now())+"    "+str(user)+"    "+"发送成功"+"\n"+str(text))
        f.close()
else:
        f.write("\n"+str(datetime.datetime.now())+"    "+str(user)+"    "+"发送失败"+"\n"+str(text))
        f.close()

在这里插入图片描述

#为脚本添加执行权限
[root@zabbix alertscripts]# chmod +x dingding.py
 
#修改脚本的属主和属组
[root@zabbix alertscripts]# chown zabbix.zabbix dingding.py
  • 创建日志文件
[root@zabbix alertscripts]# mkdir -p /usr/lib/zabbix/log/
 
[root@zabbix alertscripts]# touch /usr/lib/zabbix/log/dingding.log
 
[root@zabbix alertscripts]# chown zabbix.zabbix -R /usr/lib/zabbix/log/
  • 测试脚本是否能运行成功

注意关键词

#py脚本 手机号 关键词 告警信息
./dingding.py 12312312312 告警 test

手机号写的正确的话就可以直接@他如果随便写的就不会输出如下图的上正确手机号、下错误手机号

在这里插入图片描述

成功接收到信息完成

web页面操作

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

在这里插入图片描述

{ALERT.SUBJECT}
{ALERT.MESSAGE}
{ALERT.SENDTO}

在这里插入图片描述

在这里插入图片描述

  • 配置–>动作–>创建动作

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

#告警操作内容
##标题
服务器:{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.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持续时间:{EVENT.AGE}
事件ID:{EVENT.ID}

操作添加

在这里插入图片描述

恢复操作添加

在这里插入图片描述

在这里插入图片描述

  • 个人中心–>报警媒介–>添加

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

钉钉接收告警信息测试

自己设置好服务器的监控项触发器让他告警

在这里插入图片描述

成功收到完成

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

“zabbix配置钉钉告警(附含钉钉告警脚本 · 实战亲测无任何问题)” 的相关文章