博主简介

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

文章目录

  • 钉钉上操作(钉钉告警以关键词方式告警)
    • 创建钉钉群
    • 添加机器人–>设置关键词
    • 生成webhook(请保管好webhook的值;后面需要用到。)
  • 服务器上操作
  • web页面操作
  • 钉钉接收告警信息测试

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

创建钉钉群

  • 登录钉钉
  • 创建钉钉群

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

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

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

创建完成。

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

创建完成之后点击群设置

往下翻找到“机器人”

点击添加机器人

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

点击添加

生成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 requestsimport jsonimport sysimport osimport datetimewebhook = "https://oapi.dingtalk.com/robot/send" />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}

操作添加:

恢复操作添加:

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

钉钉接收告警信息测试

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

成功收到,完成!!!