zabbix4.0 实现钉钉告警

python 复制代码
 cat /etc/zabbix/zabbix_server.conf | grep "alert"

ll /usr/lib/zabbix/alertscripts

钉钉机器人接入文档: 自定义机器人接入 - 钉钉开放平台

钉钉告警文件放在/usr/lib/zabbix/alertscripts/dingding2.py中

复制代码
#!/usr/bin/python3
# -*- coding: UTF-8 -*-
import requests
import time
import hmac
import hashlib
import base64
import urllib.parse
import sys

filename = sys.argv[1].strip()
filename2 = sys.argv[2].strip()

# 将三个参数组合在一起,并过滤掉空行
Alarm_content = "\n".join([line for line in [filename, filename2,] if line])



timestamp = str(round(time.time() * 1000))
secret = 'Sxxxxxxxxxxxxxx0'
secret_enc = secret.encode('utf-8')
string_to_sign = '{}\n{}'.format(timestamp, secret)
string_to_sign_enc = string_to_sign.encode('utf-8')
hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))
url=f"https://oapi.dingtalk.com/robot/send?access_token=ev&timestamp={timestamp}&sign={sign}"
data = {'msgtype': 'text',
        'text': { 'content': Alarm_content,}}

req =requests.post(url, json=data)
print(req)
print(req.text)

zabbix设置:

相关推荐
最后一个bug10 分钟前
浅显易懂的讲解MMU是如何使用4级页表把虚拟地址转化为物理地址的~
linux·服务器·开发语言·系统架构·计算机外设
debug 小菜鸟14 分钟前
Linux 服务器环境搭建实战:从裸机到可用生产环境(含自动化脚本)
linux·服务器·自动化
in12345lllp15 分钟前
IT运维AI化转型:系统性AI认证选择
运维·人工智能
阿钱真强道15 分钟前
20 极物智能 knx-主机场景对接
linux·运维·服务器
baivfhpwxf202315 分钟前
C# 语言 SQL Server 批量更新
服务器·windows·c#
艾莉丝努力练剑15 分钟前
【Linux进程(六)】程序地址空间深度实证:从内存布局验证到虚拟化理解的基石
大数据·linux·运维·服务器·人工智能·windows·centos
咕咕嘎嘎102416 分钟前
C++仿muduo库onethreadoneloop高并发服务器
服务器·网络·c++
Fortune_yangyang16 分钟前
docker 搭建lnmp
运维·docker·容器
虾..16 分钟前
Linux 信号发送和保存
linux·运维·服务器
峰顶听歌的鲸鱼19 分钟前
16.docker:存储
运维·笔记·docker·容器·云计算