老板抠门不给买SMS短信猫,投错胎导致没有美国/加拿大手机号码,根本搞不清楚jabber是个什么玩意儿,sendmail又不靠谱,那都不是事,想要轻轻松松报警,那么用上自定义脚本媒介。zabbix会将信息传递给脚本,接下来你在脚本里面随意处理,一共会传递三个参数,按顺序接受也就是$1,$2,$3了,为了方便记忆,一般分别给他们赋值到To\Subject\body.
配置AlertScriptsPath
在server的配置文件中配置,这是用来定义脚本目录,这样一来zabbix就能找到脚本了
1
2
3
4
|
# cat /usr/local/zabbix-2.2.1/etc/zabbix_server.conf | grep AlertScriptsPath
### Option: AlertScriptsPath
AlertScriptsPath
=
/
usr
/
local
/
zabbix
-
2.2.1
/
alertscripts
# mkdir /usr/local/zabbix-2.2.1/alertscripts
|
创建发邮件脚本
1
2
3
4
5
6
7
8
|
# cat /usr/local/zabbix-2.2.1/alertscripts/mail.sh
#!/bin/sh
to
=
$
1
subject
=
$
2
body
=
$
3
/
usr
/
local
/
bin
/
sendEmail
-
f
support
@
ttlsa
.
com
-
t
"$to"
-
s
smtp
.
ttlsa
.
com
-
u
"$subject"
-
o
message
-
content
-
type
=
html
-
o
message
-
charset
=
utf8
-
xu
support
@
ttlsa
.
com
-
xp
123456
-
m
"$body"
2
>>
/
tmp
/
22.log
# chmod a+x /usr/local/zabbix-2.2.1/alertscripts/mail.sh
|
脚本里面使用sendEmail发送邮件,sendEmail的用法请点击《使用sendEmail发送邮件》,不一定非要发送邮件,也可以发飞信或者调用短信平台接口
配置自定义脚本媒介
Administration->Media types->创建

zabbix-custom-scripts
参数说明
选项 | 描述 |
Description | 媒介名称,看着起名,这边叫sendEmail |
Type | 选择custom scripts |
Script name | 脚本名称,这边写mail.sh,只要写名称就行了,不要写绝对路径 |
使用自定义脚本媒介
定义好了媒介之后,我们需要把这媒介指定给用户。
Administration->Users->打开用户配置->media type里面添加刚增加的媒介

zabbix-custom-scripts-sendemail
参数说明
选项 | 描述 |
Type | 选择媒介名称,此处选sendEmail |
Send to | 发邮件给谁,例如support@ttlsa.com |
When active | 发送时间,只有在这个时间段内才会发邮件 |
Use if severity | 发送邮件的触发器级别 |
Status | 当前媒介状态 Enabled - 使用中. Disabled - 禁用中. |
收 藏