zabbix发送短信有两种模式:
1.使用管理-媒介-短信功能
需要使用串口或USB接口的短信modem,官方支持的型号有Siemens MC35、Teltonika ModemCOM/G10,默认端口/dev/ttyS0,在驱动正常的情况下直接调用串口AT指令。
2.使用管理-媒介-脚本
本方式下服务器为虚拟机,,对接短信平台、或网口短信终端。
以网口短信终端JY311为例,python脚本SMS.py如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#!/usr/bin/python
# _*_ coding:utf8 _*_
import socket,time,sys
sento = sys.argv[1]
subject = sys.argv[2]
message = sys.argv[3]
#从zabbix传递的三个参数,对应{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESSAGE}
client=socket.socket()
addr=(ip,port)
#网口短信终端的ip,以及短信终端工作在TPC服务器模式下的端口
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语音):
目标手机号码 分隔符 编码方式 分隔符 短消息内容
1
|
8613102859936:0:hello,这是一条测试短信
|
1
|
8613102859936:3:hello,这是一条测试语音
|