Zabbix 3.4.3通过钉钉机器人报警

一、钉钉配置

1、添加钉钉机器人

关于钉钉的注册我这里不再过多介绍。

2、选择添加机器人

3、选择自定义机器人

4、创建完成之后记住webhook,后面用于发送消息

二、Zabbix配置

1、创建脚本

# vim /usr/local/zabbix/alertscripts/dingding_text.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 = "https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxx"

def msg(text):
    json_text= {
     "msgtype": "text",
        "text": {
            "content": text
        },
        "at": {
            "atMobiles": [
                "1881***1223"
            ],
            "isAtAll": False
        }
    }
    print requests.post(api_url,json.dumps(json_text),headers=headers).content
    
if __name__ == ‘__main__‘:
    text = sys.argv[1]
    msg(text)
#赋予执行权限
chmod +x /usr/local/zabbix/alertscripts/dingding_text.py

2、创建Media types

因为钉钉的text主要是发送卡片消息,所以我这里参数只输出的message,如果想要传递user,比如手机号,可以添加这个参数,然后脚本稍微修改一下即可。

3、给用户添加Media

3、创建Actions

服务器:{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}
}

服务器:{HOST.NAME}: 报警确认
{
确认人:{USER.FULLNAME} 
时间:{ACK.DATE} {ACK.TIME} 
确认信息如下:
"{ACK.MESSAGE}"
问题服务器IP:{HOSTNAME1}
问题ID:{EVENT.ID}
当前的问题是: {TRIGGER.NAME}
}

三、效果展示

时间: 2024-10-30 08:16:51

Zabbix 3.4.3通过钉钉机器人报警的相关文章

调用钉钉群组机器人在当前群组发送Zabbix报警信息

关于钉钉机器人的创建,基本用法详见我另一篇文章<创建自定义机器人> 本实验测试zabbix版本为3.4 接下来我们将直接通过下面的操作完成zabbix报警往我们的钉钉机器人所在群组发送: 首先在附件中下载对应的程序到我们的zabbix server的AlertScriptsPath目录,可以通过以下命令查看目录所在位置 grep "AlertScriptsPath" zabbix_server.conf 更改文件的权限为运行zabbix的用户,并给执行权限 chmod 75

zabbix 配合钉钉群机器人(webhook) 报警

首先建钉钉群,添加一个自定义机器人拿到webhook zabbix添加一个报警媒介 搞一个shell脚本来启动Python脚本(直接用zabbix调Python脚本不行,不知道什么原因) vim dingding.sh echo "$1" > /tmp/dingding.log python /etc/zabbix/alertscripts/dingding.py "$1" #!/usr/bin/env python #coding: utf-8 import

centos7 yum 安装zabbix设置钉钉机器人报警

原文地址 网上有很多zabbix使用钉钉触发告警信息的攻略, 需要注意的是zabbix3.2不能使用那些攻略进行触发报警. 至于监控内容啥的不在这篇文章里谈及, 我们这里只谈报警部分. 作者这里的环境基本都是centos 7.4 以及zabbix3.2 yum 安装,如果读者用的其他系统, 或安装方式不同, 此文章仅供参考. 搭建好zabbix3.2环境,然后: 从网上下载一下钉钉的zabbix机器人: 钉钉-zabbix-robot 解压缩并放在你的任意位置,改名为dingding.sh并放到

zabbix 使用机器人报警到钉钉群聊

钉钉机器人接口脚本下载:https://www.appgao.com/files/192.html 钉钉机器人接口地址(可以点击机器人查看):webhook地址,https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx 配置报警媒介类型 配置用户报警媒介 配置用户 赋予golang-zabbix-robot-64脚本所属主组和可执行权限 配置动作 默认信息: <?xml version="1.0" encoding=&q

通过钉钉群聊机器人推送zabbix告警

1.首先在zabbix服务端的alertscripts目录下新建一个dingding.sh脚本,内容如下: #!/bin/bash Content=$2 curl 'https://oapi.dingtalk.com/robot/send?access_token=XXXX' \ -H 'Content-Type: application/json' \ -d ' {"msgtype": "text", "text": { "conte

zabbix - 对接钉钉应用接口

因为当时正配置的时候,钉钉推出了钉钉机器人接口,更方便的配置和报警: 所以就没有再弄这个,有需要的朋友再看看吧. https://github.com/Shanwn-git/zabbix/tree/master/dingding_api

Zabbix 配置钉钉脚本告警(4)

title: Zabbix 配置钉钉脚本告警(4) date: 2018-12-10 11:50:21 tags: Zabbix categories: Zabbix copyright: true --- Zabbix是一个非常强大的监控系统,是企业级的软件,来监控IT基础设施的可用性和性能.它是一个能够快速搭建起来的开源的监控系统,Zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位解决存在的各种问题,Zabbix系统几乎可用于任何系统的监控过

zabbix使用钉钉告警

1.钉钉创建群 2.[[email protected] ~]# vim /etc/zabbix/zabbix_server.conf # 配置文件中查找”Alert”查看告警脚本存放路径 [[email protected] alertscripts]# vim token.sh#!/bin/bashto=$1subject=$2text=$3curl 'https://oapi.dingtalk.com/robot/send?access_token=b4d37016f622cc50f67e

Zabbix配置钉钉的带图片报警

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