一、zabbix报警媒介介绍
zabbix触发器到了要发送通知的情况下,需要一个中间介质来接收并传递消息给运维。以前使用的是nagios,通常用脚本发送邮件或者发送飞信来达到报警。在此脚本就是一个媒介了。
1、E-mail
使用sendmail发送邮件,从这边出去的邮件基本都是垃圾邮件,在此不详细介绍
2、SMS
使用SMS报警方式,需要一个硬件设备 短信网关。也就是短信猫设备,在此不具体介绍
3、Jabber
Jabber有第三方插件,能让Jabber用户和MSN、等IM用户相互通信,因为Google遵从Jabber协议,并且Google已经将Gtalk的服务器开放给其他的Jabber服务器。所以PSI、Giam等Jabber客户端软件支持GTalk用户。国内很少人使用。
4、EzTexting
给用户手机发短信,只支持美国和加拿大
5、Custon alertscripts
自定义脚本,把信息传递给脚本,我们在脚本里使用sendEmail(不要和sendmail搞混了)、飞信发短信、调用短信接口发送短信等。
二、zabbix 报警媒介-email
报警信息将会使用系统自带的sendmail发送,配置比较简单
1、配置媒介Email
点击“管理”-“报警媒介”,显示系统已经存在的报警媒介方式:
点击“Email”,进行进一步的配置:
选项介绍:
名称:媒介名称,一般都写Email
类型:在此选 电子邮件
SMTP服务器:SMTP服务器
SMTP服务器端口: 不用SSL验证的话 端口是25 用SSL验证的话 端口是 465
SMTP HELO: SMTP helo值,通常情况下是顶级域名
SMTP电邮:发送邮件的邮箱地址
选项介绍:
使用媒介:
定义好了媒介之后,我们需要把这个媒介指定给用户。
“管理”-“用户”-“打开用户配置”-“报警媒介”:
介绍:
类型:选择媒介名称,此处选Email
发送给谁:发邮件给谁
当启动时:发送时间,只在这个时间段才发送邮件
如果存在严重性则使用:发送邮件的触发器级别
已启动:选择是否启用
三、Zabbix 报警媒介:SMS
服务器安装串口GSM短信猫之后,zabbix可以使用它来发送短信通知管理员,如下注意事项:
串行设备速度要与GSM猫相匹配(Linux下默认为/dev/ttySo), zabbix 无法设置设置串行设备速率
zabbix 有对串口设备的读写权限,可以使用ls -l /dev/ttySo 查看设备权限
请禁用你的GSM手机卡的PIN码
SMS的使用:
介绍:
类型:选择媒介名称,此处选SMS
收件人:发短信给那个手机号
其他设置同上
四、Zabbix 报警媒介:Custom alertscripts
上面给出的报警媒介方式,在实际应用中因为各种因素在使用中得到限制,只能使用自定义脚本媒介。zabbix会将信息传递给脚本,接下来在脚本里处理信息,一共会传递三个参数,按照顺序接受就是 $1,$2,$3 了。为了方便记忆,一般分别给他们赋值到 To/Subject/body.
1、配置 AlertScriptsPath
在server服务器的配置文件中配置,这是用来定义脚本的目录。
要找到配置alertscriptspath的路径,需要先从zabbix_server.conf文件中找到:
cd /usr/lib/zabbix/alertscripts
创建发邮件脚本
#!/bin/sh
to=$1
subject=$2
body=$3
/usr/local/bin/sendEmail -f melvin@jollycorp.com -t "$to" -s smtp.exmail.qq.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu melvin@jollycorp.com -xp Passw0rd -m "$body" 2>>/tmp/22.log
#chmod a+x /usr/lib/zabbix/alertscripts/mail.sh
2、配置自定义脚本媒介
“管理”-“报警媒介类型”-“创建媒介类型”:
3、使用自定义脚本媒介
定义好了媒介之后,需要把这定义好的媒介指定给用户。
“管理”-“用户”-“打开用户配置”,在报警媒介类型的选项中选择刚增加的媒介。