zabbix7.0阿里云短信告警
时间: 2025-02-28 10:59:38 AIGC 浏览: 214
### 配置 Zabbix 7.0 使用阿里云短信服务进行告警通知
#### 安装并配置 Zabbix 仓库
为了确保使用的是最新版本的 Zabbix 软件包,建议先安装官方提供的 Zabbix YUM 仓库。这可以通过执行如下命令来完成[^3]:
```bash
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-7.0-2.el9.noarch.rpm && yum clean all
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
```
#### 创建自定义脚本用于发送 SMS 告警消息
为了让 Zabbix 支持通过阿里云发送短信提醒,需要编写一个 Python 或 Shell 脚本来调用阿里云 API 发送短信,并将其放置于 `/usr/local/cpgroup/zabbix/share/zabbix/alleetscripts` 目录下[^4]:
假设创建了一个名为 `send_sms.py` 的文件:
```python
import sys, json, requests
def send_message(phone_numbers,message):
url = "https://dysmsapi.aliyun.com/"
params = {
'Action': 'SendSms',
'PhoneNumbers': phone_numbers,
'SignName': '您的签名名称',
'TemplateCode':'SMS_XXXXXX', # 替换成实际模板ID
'TemplateParam':json.dumps({"message": message})
}
headers={
'Content-Type': 'application/json'
}
response=requests.post(url,params=params).text
print(response)
if __name__ == '__main__':
try:
phone=sys.argv[1]
msg=' '.join(sys.argv[2:])
send_message(phone,msg)
except Exception as e:
print(e)
```
此脚本接受两个参数:电话号码和要发送的消息内容。
#### 添加媒体类型至 Zabbix Web UI
进入 Zabbix Web 界面,在 **Configuration > Media types** 中点击右上角的 “Create media type”。填写表单信息如下:
- 类型: Script
- 名称: Aliyun SMS
- 脚本名: send_sms.py (即之前上传的那个脚本的名字)
- 参数:
- {ALERT.SENDTO}
- {ALERT.MESSAGE}
保存设置之后就可以继续下一步操作了。
#### 关联用户与媒体类型
前往 **Administration > Users**, 编辑目标用户的资料页,在“Media”选项卡里新增一条记录关联刚刚建立好的“Aliyun SMS”。
最后一步就是测试整个流程是否正常工作了——可以手动触发一次事件来看看能否成功接收到短信通知。
阅读全文
相关推荐




















