老板抠门不给买SMS短信猫,投错胎导致没有美国/加拿大手机号码,根本搞不清楚jabber是个什么玩意儿,sendmail又不靠谱,那都不是事,想要轻轻松松报警,那么用上自定义脚本媒介。zabbix会将信息传递给脚本,接下来你在脚本里面随意处理,一共会传递三个参数,按顺序接受也就是$1,$2,$3了,为了方便记忆,一般分别给他们赋值到To\Subject\body.
配置AlertScriptsPath
在server的配置文件中配置,这是用来定义脚本目录,这样一来zabbix就能找到脚本了文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-media-custom-alertscripts/
# 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
文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-media-custom-alertscripts/
创建发邮件脚本
# 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
文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-media-custom-alertscripts/
脚本里面使用sendEmail发送邮件,sendEmail的用法请点击《使用sendEmail发送邮件》,不一定非要发送邮件,也可以发飞信或者调用短信平台接口文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-media-custom-alertscripts/
配置自定义脚本媒介
Administration->Media types->创建文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-media-custom-alertscripts/
参数说明文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-media-custom-alertscripts/
选项 | 描述 |
Description | 媒介名称,看着起名,这边叫sendEmail |
Type | 选择custom scripts |
Script name | 脚本名称,这边写mail.sh,只要写名称就行了,不要写绝对路径 |
文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-media-custom-alertscripts/
使用自定义脚本媒介
定义好了媒介之后,我们需要把这媒介指定给用户。文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-media-custom-alertscripts/
Administration->Users->打开用户配置->media type里面添加刚增加的媒介文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-media-custom-alertscripts/
参数说明文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-media-custom-alertscripts/
选项 | 描述 |
Type | 选择媒介名称,此处选sendEmail |
Send to | 发邮件给谁,例如support@ttlsa.com |
When active | 发送时间,只有在这个时间段内才会发邮件 |
Use if severity | 发送邮件的触发器级别 |
Status | 当前媒介状态 Enabled - 使用中. Disabled - 禁用中. |

6F
我用的3.0.1的,按照上述方法发布了邮件。手动执行脚本可以发送。 3.0.1版本的如何发送邮件?
B1
@ aweiwoo 需要在建立media type时添加3个参数,可以见http://xiao987334176.blog.51cto.com/2202382/1768339
5F
我的用的3.0.1版本。邮件脚本里面的$1 2 3 都获取不到值,,但是我确定脚本 绝对是被执行了, 而参数传递过来就是空的,。 权限没问题,selinux 关了
B1
@ 匿名 我也遇到了同样的问题
B2
@ 匿名 我也一样
4F
zabbix 3.0 用这个脚本一直不发邮件呢?求解
3F
这意思是只有3.0才能用自定义脚本啊
2.2上测试了 收不到邮件
2F
哈哈,Thx
1F
本地测试可以发送邮件,但是写到脚本里面,权限也给了,然后在zabbix里面配置了就不能收到报警邮件呢,怎么回事??
B1
@ xiaoma 升级zabbix懂啊3.0,不在使用脚本发送邮件!
B2
@ 管理员 2.5和3.0 是不是一样的,2.5只是一个过渡啊
B3
@ xiaoma 2.5过渡了不到一个月,就没了
B2
@ 管理员 3.0 有下载地址啊,,官网好像没有下载的啊??
B3
@ xiaoma 下载地址里面的最底下,显示为zabbix 2.5,实际上是3.0的。
B4
@ 管理员 哈哈,Ths