zabbix发送短信有两种模式:
1.使用管理-媒介-短信功能
需要使用串口或USB接口的短信猫,官方支持的型号有Siemens MC35、Teltonika ModemCOM/G10,默认端口/dev/ttyS0,在驱动正常的情况下直接调用串口AT指令。
2.使用管理-媒介-脚本
本方式下服务器为虚拟机,,对接短信平台、或网口短信猫。
以网口短信猫JY311为例,python脚本SMS.py如下
#!/usr/bin/python
# _*_ coding:utf8 _*_
import socket,time,syssento = sys.argv[1]
subject = sys.argv[2]
message = sys.argv[3]
#从zabbix传递的三个参数,对应{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESSAGE}client=socket.socket()addr=('ip',8234)
#网口短信终端的ip
client.connect(addr)myinput =('%s:0:<%s>\n%s'%(sento,subject,message)).encode("GBK")
#发送数据
#client.send(data.encode('utf-8'))
print(myinput)
print(len(myinput))
client.send(myinput)time.sleep(5)client.close()
JY311网口短信终端的接口很容易实现(编码方式0短信,编码方式3语音):
目标手机号码 分隔符 编码方式 分隔符 短消息内容
8613102859936:0:hello,这是一条测试短信
8613102859936:3:hello,这是一条测试语音