zabbix 钉钉告警脚本
时间: 2023-10-30 09:06:40 浏览: 50
以下是一个基于 Python 的 Zabbix 钉钉告警脚本示例:
```python
#!/usr/bin/env python
# encoding: utf-8
import requests
import json
import sys
# 钉钉机器人 webhook 地址
webhook_url = 'https://oapi.dingtalk.com/robot/send?access_token=your_access_token_here'
# Zabbix 告警主题和内容
subject = sys.argv[1]
message = sys.argv[2]
# 钉钉消息模板
data = {
"msgtype": "text",
"text": {
"content": subject + '\n' + message
}
}
# 发送钉钉消息
response = requests.post(
webhook_url,
headers={'Content-Type': 'application/json'},
data=json.dumps(data)
)
if response.status_code != 200:
print('Failed to send DingTalk notification.')
sys.exit(1)
```
将上述代码保存为 `dingtalk.py` 文件,然后将其上传到 Zabbix 服务器上。接下来,在 Zabbix 管理界面中进行以下操作:
1. 创建一个媒介类型:在「Administration -> Media types」中点击「Create media type」按钮,填写名称为「DingTalk」,类型为「Script」,脚本名称为 `dingtalk.py`,并设置脚本参数为 `{ALERT.SUBJECT}` 和 `{ALERT.MESSAGE}`。
2. 创建一个用户:在「Administration -> Users」中点击「Create user」按钮,填写用户名、姓名和密码,并在「Media」选项卡中添加一个媒介,类型为「DingTalk」,并填写对应的 Access Token。
3. 创建一个动作:在「Configuration -> Actions」中点击「Create action」按钮,填写名称和条件,然后在「Operations」选项卡中添加一个操作,类型为「Send message」,并选择刚刚创建的用户。
这样,当 Zabbix 监测到有问题时,就会自动向指定的钉钉群发送告警消息。