一、环境配置:
首先在钉钉创建一个用于告警的群组并添加一个自定义机器人
说明:
安全设置的作用就是在调用时需要加的限制;有三种,分别是自定义关键词、加签、IP地址段。
1.其中加签是通过算法,算出一段类似密钥段放到机器接口中进行调用;
2.ip地址段就是限制机器人接口能从那些地址发出;
3.最常用的就是自定义关键词:这个作用是第三方脚本调用机器人接口发通知信息时,内容必须要包含的关键字。
配置好钉钉机器人,就得到了一个WebHook 地址,这个就是调用机器人发送通知的接口。
钉钉机器人接口文档链接:https://open.dingtalk.com/document/org/application-types
消息类型和数据格式 - 钉钉开放平台
二、调用机器人API发信息代码:
1.shell
#!/bin/bash
url=`cat ./webhook`
curl "$url" -H 'Content-Type: application/json' -d '
{
"msgtype": "text",
"text":
{
"content": "监控报警 Shell"
}
}'
?2.Python
#!/bin/python3
# -*- coding:utf-8 -*-
import json
import requests
import sys
alert_subject = sys.argv[1]
alert_message = sys.argv[2]
end = 'End'.center(30,'-')
def send_msg(url):
headers = {'Content-Type': 'application/json; charset=utf-8'}
data = {
"msgtype": "text",
"text": {
"content": f"告警描述:{alert_subject}\n{alert_message}"
}
}
r = requests.post(url, data=json.dumps(data), headers=headers)
return r.text
if __name__ == '__main__':
url = 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxx'
info = send_msg(url)
if eval(info)['errmsg'] == 'ok':
status = 'Send Sussess'
else:
status = 'Send Error'
f = open(file='./DingDing.log',mode='a')
f.write(f'''
{status.center(25,'-')}
告警描述:{alert_subject}
{alert_message}
{end}
'''
)
f.close()
三、Zabbix配置:
1.告警媒介
2.配置触发器动作
?3.配置用户报警媒介
?
?
|