标签:
首先我们需要明白:
zabbix报警的媒介:
E-mail:使用sendmail发送邮件,从这边出去的邮件基本是垃圾邮件,我一直不喜欢用
SMS:需要短信设备,没有,一直都没用过这东西
Jabber:Jabber有第三方插件,能让Jabber用户和MSN、YahooMessager、ICQ等IM用户相互通讯。因为Google遵从Jabber协议,并且Google已经将Gtalk的服务器开放给了其它的Jabber服务器。所以PSI、Giam等Jabber客户端软件支持GTalk用户登陆。国内没啥人用
Ez Texting:给用户手机发短信,貌似只支持美国和加拿大
Custom alertscripts:自定义脚本,把信息传递给脚本,我们在脚本里使用sendEmail(不要和sendmail搞混了)、飞信发短信、调用短信接口发送短信等等。
____________________________________________________________________________________________________________________________________
报警信息将会使用系统自带的sendmail发送,配置比较简单
配置媒介Email
Administration→Media types->Click on Create media type
选项 | 描述 |
Name | 媒介名称,看着起名 |
Type | 选择Email |
SMTP server | SMTP服务器 |
SMTP helo | SMTP helo值, 通常情况下是顶级域名 |
SMTP email |
这个邮件地址会显示到收件人的From里 可用邮箱地址: zabbix@company.com (只包含邮箱地址,不需要尖括号括起来) Zabbix HQ <zabbix@company.com> (显示名和邮箱地址,邮箱地址使用尖括号) ∑?-monitoring <zabbix@company.com> (显示名称为UTF8格式) 不可用的邮箱地址 Zabbix HQ zabbix@company.com (需要尖括号) "Zabbix\@\<H(comment)Q\>" <zabbix@company.com>不支持转义 |
定义好了媒介之后,我们需要把这媒介指定给用户。
Administration->Users->打开用户配置->media type里面添加刚增加的媒介
参数说明
选项 | 描述 |
Type | 选择媒介名称,此处选Email |
Send to | 发邮件给谁,例如support@ttlsa.com,也可以使用显示名 |
When active | 发送时间,只有在这个时间段内才会发邮件 |
Use if severity | 发送邮件的触发器级别 |
Status |
当前媒介状态 Enabled - 使用中. Disabled - 禁用中. |
因为我设置了email的邮箱,发送的时候老是报550,535认证错误,所以我采用的脚本发送邮件的方式,如下,分为两大步骤:
第一个步骤:
sendEmail是一个轻量级,命令行的SMTP邮件客户端。如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php、bash
perl和web站点使用。
以上是sendEmail的简单介绍,千万不要和sendmail搞混掉了。用了sendEmail你将不在喜欢sendmail了.
命令说明:
发送成功之后会有如下提示:
Jul 29 15:02:53 e10074 sendEmail[26347]: Email was sent successfully!
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
[root@li229-122scripts]#
sendEmail --help
sendEmail-1.56byBrandonZehm<caspian@dotconf.net>
Synopsis: sendEmail-fADDRESS[options]
Required:
-fADDRESS from(sender)emailaddress
*Atleastonerecipientrequiredvia-t,-cc,or-bcc
*Messagebodyrequiredvia-m,STDIN,or-omessage-file=FILE
Common:
-tADDRESS[ADDR...] toemailaddress(es)
-uSUBJECT messagesubject
-mMESSAGE messagebody
-sSERVER[:PORT] smtpmailrelay,defaultislocalhost:25
Optional:
-a FILE[FILE...] fileattachment(s)
-cc ADDRESS[ADDR...] cc emailaddress(es)
-bccADDRESS[ADDR...] bccemailaddress(es)
-xu USERNAME usernameforSMTPauthentication
-xp PASSWORD passwordforSMTPauthentication
Paranormal:
-bBINDADDR[:PORT] localhostbindaddress
-lLOGFILE logtothespecifiedfile
-v verbosity,usemultipletimesforgreatereffect
-q bequiet(i.e.noSTDOUToutput)
-oNAME=VALUE advancedoptions,fordetailstry:--helpmisc
-omessage-content-type=<auto|text|html>
-omessage-file=FILE -omessage-format=raw
-omessage-header=HEADER -omessage-charset=CHARSET
-oreply-to=ADDRESS -otimeout=SECONDS
-ousername=USERNAME -opassword=PASSWORD
-otls=<auto|yes|no> -ofqdn=FQDN
Help:
--help thehelpfuloverviewyou‘rereadingnow
--helpaddressing explainaddressingandrelatedoptions
--helpmessage explainmessagebodyinputandrelatedoptions
--helpnetworking explain-s,-b,etc
--helpoutput explainloggingandotheroutputoptions
--helpmisc explain-ooptions,TLS,SMTPauth,andmore
|
老板抠门不给买SMS短信猫,投错胎导致没有美国/加拿大手机号码,根本搞不清楚jabber是个什么玩意儿,sendmail又不靠谱,那都不是事,想要轻轻松松报警,那么用上自定义脚本媒介。zabbix会将信息传递给脚本,接下来你在脚本里面随意处理,一共会传递三个参数,按顺序接受也就是$1,$2,$3了,为了方便记忆,一般分别给他们赋值到To\Subject\body.
在server的配置文件中配置,这是用来定义脚本目录,这样一来zabbix就能找到脚本了
脚本里面使用sendEmail发送邮件,sendEmail的用法请点击《使用sendEmail发送邮件》,不一定非要发送邮件,也可以发飞信或者调用短信平台接口
Administration->Media types->创建
参数说明
选项 | 描述 |
Description | 媒介名称,看着起名,这边叫sendEmail |
Type | 选择custom scripts |
Script name | 脚本名称,这边写mail.sh,只要写名称就行了,不要写绝对路径 |
定义好了媒介之后,我们需要把这媒介指定给用户。
Administration->Users->打开用户配置->media type里面添加刚增加的媒介
参数说明
选项 | 描述 |
Type | 选择媒介名称,此处选sendEmail |
Send to | 发邮件给谁,例如support@ttlsa.com |
When active | 发送时间,只有在这个时间段内才会发邮件 |
Use if severity | 发送邮件的触发器级别 |
Status |
当前媒介状态 Enabled - 使用中. Disabled - 禁用中. |
即:{ALERT.SENDTO}, {ALERT.SUBJECT} and {ALERT.MESSAGE}
今天是第二天,我再发的时候就出现的如下问题:
554 DT:SPM
发送的邮件内容包含了未被许可的信息,或者被反垃圾邮件系统识别为垃圾邮件。请检查是否有用户发送
病毒或者垃圾邮件
[root@5498fdd77ab4 alertscripts]# ./sendmail.sh nieyunshuang@caiex.com nihao haha554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件;
标签:
原文地址:http://blog.csdn.net/chelsea_nie/article/details/51261133