zabbix部署钉钉 (zabbix 6.0实现钉钉机器人告警)

1 添加机器人

在钉钉群里面添加一个机器人

会获取到一个URL:

'https://oapi.dingtalk.com/robot/send?access_token=62be1ea97b4653b8521f26a4fxxxxxxxxxxxxxx'

2 写一个发送消息的脚本

在zabbix-server端的配置文件zabbix_server.conf中找到报警脚本的配置

AlertScriptsPath=/usr/lib/zabbix/alertscripts

接下来写一个钉钉发送消息的脚本dingding.py,并放到/usr/lib/zabbix/alertscripts目录底下

#!/usr/bin/python3
import requests
import json
import sys

# 告警群,测试环境
url = 'https://oapi.dingtalk.com/robot/send?access_token=62be1ea97b4653b8521f26a4fxxxxxxxxxxxxxx'

def send_msg(msg):
    """
    发送消息的函数,这里使用阿里的钉钉
    :param msg: 要发送的消息
    :return: 200 or False
    """
    # url = url
    program = {"msgtype": "text", "text": {"content": msg}, }
    headers = {'Content-Type': 'application/json'}
    try:
        f = requests.post(url, data=json.dumps(program), headers=headers)
    except Exception as e:
        return False
    return f.status_code

def main():
    msg = sys.argv[1]
    send_msg(msg)

if __name__ == '__main__':
    main()

修改脚本权限

chmod 755 /usr/lib/zabbix/alertscripts/dingding.py 

3 ZABBIX的设置

zabbix实现电话报警,zabbix部署钉钉

创建媒体类型

zabbix实现电话报警,zabbix部署钉钉

给用户绑定媒体

zabbix实现电话报警,zabbix部署钉钉

zabbix实现电话报警,zabbix部署钉钉

zabbix实现电话报警,zabbix部署钉钉

创建报警动作

zabbix实现电话报警,zabbix部署钉钉

zabbix实现电话报警,zabbix部署钉钉

zabbix实现电话报警,zabbix部署钉钉

添加好操作是这个样子的

zabbix实现电话报警,zabbix部署钉钉

恢复操作和更新操作类似,这里不再赘述!

下面给出告警消息的标题和消息内容格式

操作:

默认标题:

  服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障!

消息内容:告警主机:{HOST.NAME}告警地址:{HOST.IP}监控项目:{ITEM.NAME}监控取值:{ITEM.LASTVALUE}告警等级:{TRIGGER.SEVERITY}告警信息:{TRIGGER.NAME}告警时间:{EVENT.DATE} {EVENT.TIME}事件ID:{EVENT.ID}当前状态:{TRIGGER.STATUS}

恢复操作:

默认标题:

  服务器:{HOST.NAME}: {TRIGGER.NAME}已恢复!

消息内容:

告警主机:{HOST.NAME}告警地址:{HOST.IP}监控项目:{ITEM.NAME}监控取值:{ITEM.LASTVALUE}告警等级:{TRIGGER.SEVERITY}告警信息:{TRIGGER.NAME}告警时间:{EVENT.DATE} {EVENT.TIME}恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}持续时间:{EVENT.AGE}事件ID:{EVENT.ID}当前状态:{TRIGGER.STATUS}

更新操作:

默认标题:

  服务器:{HOST.NAME}: 报警确认

消息内容:

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

添加好的效果

zabbix实现电话报警,zabbix部署钉钉

钉钉收到消息的内容

zabbix实现电话报警,zabbix部署钉钉

zabbix实现电话报警,zabbix部署钉钉

zabbix实现电话报警,zabbix部署钉钉

转自Sunzz

关注点赞不迷路[灵光一闪]