Zabbix配置钉钉的带图片报警
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,实现思路:首先报警信息里要有itemid,这是前提,根据信息里传入的参数使用正则匹配到itemid构建一个session会话,或者使用cookie来进行登录,根据itemid去请求图片,并将获取到的图
千家信息网最后更新 2026年11月02日Zabbix配置钉钉的带图片报警
实现思路:

- 首先报警信息里要有itemid,这是前提,根据信息里传入的参数使用正则匹配到itemid
- 构建一个session会话,或者使用cookie来进行登录,根据itemid去请求图片,并将获取到的图片保存到本地,由于markdown的图片链接需要被访问到,我的zabbix是在内网中,所以需要将图片传到图床或者传到一个具有公网IP的web服务器,我这里传到了我的个人服务器
- 将报警信息转换成markdown语法格式
- 构造请求利用钉钉的webhook发送消息
设置钉钉机器人

- 钉钉机器人需要进行安全设置,这里我定义了关键词"通知",也就是说发送的消息中必须包含这个词
脚本实现
- 由于需要将图片从本地拷到远端,免密需要提前配置好,脚本是用zabbix用户执行,Web服务器目录的安全策略最好设置一下
#!/usr/bin/python# -*- coding: utf-8 -*-import requests,timeimport json,sys,re,oszabbixserver_url ='http://192.168.99.200/index.php'#定义远端的web服务器地址,将图片复制到远端的web目录下pname_path='http://47.103.15.51/dingding_pic/'#定义获取的图片地址testUrl = "http://192.168.99.200/chart.php"host='192.168.99.200'def get_itemid(): itemid=re.search(r'ITEM ID:(\d+)',sys.argv[2]).group(1) return itemiddef get_picture(itemid,pname): #构建session,或者可以一次构建之后使用cookie登录 myRequests = requests.Session() try: loginHeaders = { "Host":host, "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" } # 构建登录所需的信息 playLoad = { "name": "Admin", "password": 'zabbix', "autologin": "1", "enter": "Sign in", } myRequests.post(url=zabbixserver_url, headers=loginHeaders, data=playLoad) testUrlplayLoad = { "from": "now-10m", "to": "now", "itemids": itemid, "width": "700", } testGraph = myRequests.get(url=testUrl,params=testUrlplayLoad) IMAGEPATH = os.path.join('/usr/lib/zabbix/alertscripts/dingding_pic/', pname) #将获取到的图片数据写入到文件中去 with open(IMAGEPATH,'wb') as f: f.write(testGraph.content) os.system("sudo scp %s root@47.103.15.51:/usr/share/nginx/html/dingding_pic" %IMAGEPATH) pname_url = pname_path+pname return pname_url except Exception as e: print(e) return False#构造发送消息的请求def send_msg(pname_url,info3): headers = {'Content-Type': 'application/json;charset=utf-8'} print(info3) data = { "msgtype": "markdown", "markdown": { "title": info1, "text": "## 通知:\n"+info3+"\n"%(pname_url) }, "at":{ "atMobiles": reminders, "isAtAll": False, }, } r = requests.post(url=webhook_url,json=data,headers=headers) print(r.text)#对报警信息进行格式化 def info_text(): new_text = "" x = info2.split('\n') for i in x: if re.search('ITEM ID',str(i)): pass else: new_text+="- "+str(i)+('\n') print(type(new_text)) return new_textif __name__ == '__main__': #将报警信息写入日志 os.system("echo hello >> /tmp/syslog.md") pname = str(int(time.time()))+'.png' info1 = str(sys.argv[1]) info2 = str(sys.argv[2]) info3 = info_text() with open('/tmp/syslog.md','a') as f: f.write(info1) f.write(info2) f.close() reminders = [] webhook_url = 'https://oapi.dingtalk.com/robot/send?access_token=771ded387e6be652c51a2b6c83cade4e048e3da4fdfe128f1db6b124b87df18a' itemid = get_itemid() pname_url=get_picture(itemid,pname) print(pname_url) send_msg(pname_url,info3)定义报警媒介类型
- 打开zabbix监控web,在管理菜单中选择报警媒介类型,创建媒体类型,选择脚本,填写刚才编写的邮件带图脚本名称zabbix_email_pic.py,脚本参数,最后添加
- 打开管理中的用户,点击需要设置邮件告警的用户,然后在报警媒介中添加报警媒介,在弹框中选择刚才定义的类型,收件人自定义,最后添加
定义告警动作
点击配置菜单中的动作,创建动作,然后根据图片进行填写
操作默认标题 Zabbix告京:服务器:{HOSTNAME}发生: {TRIGGER.NAME}故障!ITEMID:{ITEM.ID}告警主机:{HOST.NAME}告警主机:{HOST.IP}告警时间:{EVENT.DATE} {EVENT.TIME}告警等级:{TRIGGER.SEVERITY}告警信息: {TRIGGER.NAME}告警项目:{TRIGGER.KEY}问题详情:{ITEM.NAME}:{ITEM.VALUE}当前状态:{TRIGGER.STATUS}:{ITEM.VALUE}事件ID:{EVENT.ID}恢复操作Zabbix告京:服务器:{HOST.NAME}发生: {TRIGGER.NAME}已恢复!ITEMID:{ITEM.ID}告警主机:{HOST.NAME}告警主机:{HOST.IP}告警时间:{EVENT.DATE} {EVENT.TIME}告警等级:{TRIGGER.SEVERITY}告警信息: {TRIGGER.NAME}告警项目:{TRIGGER.KEY}问题详情:{ITEM.NAME}:{ITEM.VALUE}当前状态:{TRIGGER.STATUS}:{ITEM.VALUE}事件ID:{EVENT.ID}最终效果
可以手动触发一个报警测试效果
- 至此,zabbix的微信,邮箱,钉钉的带图报警均已配置完成
欢迎关注个人公号"没有故事的陈师傅"
报警
图片
信息
服务器
服务
脚本
主机
媒介
类型
配置
动作
消息
用户
登录
选择
安全
个人
事件
参数
地址
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
花魁咖啡
互联网与科技
广东猪兼强互联网科技有限公司
盈实互联网科技
科技制造互联网公司
互联网金融 科技金融
互联网女皇 腾讯科技
顺玮阁互联网科技
恒生科技互联网指数分析
互联网科技博主是什么意思
岳阳华臻互联网科技有限公司
互联网科技商业
未来五年的互联网科技
乌鲁木齐新华智原互联网科技学校
富国互联网金融科技混合基金
图游互联网科技
中国新注册互联网科技
福仕德教育科技互联网
现代科技的标志之一的互联网
伍佰万互联网科技是干嘛的
互联网科技财经
美国互联网科技巨头监管
镁科技互联网资讯平台
富国互联网科技创新基金
成都玖崟互联网科技有限公司乐商圈怎么样
成都互联网科技公司工作好不好
广东工业互联网大赛深圳学泰科技
中天科技中国工业互联网
信承诺互联网科技有限公司
科技互联网专业务虚会材料