zabbix 报警

来源:互联网 发布:r创建数据集 dataframe 编辑:程序博客网 时间:2024/04/29 21:07

首先我们需要明白:

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

email

media_email

 选项描述 Name 媒介名称,看着起名 Type 选择Email SMTP serverSMTP服务器 SMTP heloSMTP 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里面添加刚增加的媒介

email

email

参数说明

选项描述Type选择媒介名称,此处选EmailSend 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了.

下载安装sendEmail

发送邮件

命令说明:

发送成功之后会有如下提示:
Jul 29 15:02:53 e10074 sendEmail[26347]: Email was sent successfully!

sendEmail使用命令帮助

第二个步骤:

老板抠门不给买SMS短信猫,投错胎导致没有美国/加拿大手机号码,根本搞不清楚jabber是个什么玩意儿,sendmail又不靠谱,那都不是事,想要轻轻松松报警,那么用上自定义脚本媒介。zabbix会将信息传递给脚本,接下来你在脚本里面随意处理,一共会传递三个参数,按顺序接受也就是$1,$2,$3了,为了方便记忆,一般分别给他们赋值到To\Subject\body.

配置AlertScriptsPath

在server的配置文件中配置,这是用来定义脚本目录,这样一来zabbix就能找到脚本了

 

创建发邮件脚本

 

脚本里面使用sendEmail发送邮件,sendEmail的用法请点击《使用sendEmail发送邮件》,不一定非要发送邮件,也可以发飞信或者调用短信平台接口

配置自定义脚本媒介

Administration->Media types->创建

custom scripts

zabbix-custom-scripts

参数说明

 选项描述 Description 媒介名称,看着起名,这边叫sendEmail Type 选择custom scriptsScript name脚本名称,这边写mail.sh,只要写名称就行了,不要写绝对路径

 

使用自定义脚本媒介

定义好了媒介之后,我们需要把这媒介指定给用户。

Administration->Users->打开用户配置->media type里面添加刚增加的媒介

custom scripts

zabbix-custom-scripts-sendemail

参数说明

选项描述Type选择媒介名称,此处选sendEmailSend to发邮件给谁,例如support@ttlsa.comWhen active发送时间,只有在这个时间段内才会发邮件Use if severity发送邮件的触发器级别Status当前媒介状态
Enabled - 使用中.
Disabled - 禁用中.注意:zabbix3.0和zabbix2.0版本还是有区别的,在定义的媒介的时候需要填写宏变量才能发送成功的。



即:{ALERT.SENDTO}, {ALERT.SUBJECT} and {ALERT.MESSAGE} 



今天是第二天,我再发的时候就出现的如下问题:

554 DT:SPM 

发送的邮件内容包含了未被许可的信息,或者被反垃圾邮件系统识别为垃圾邮件。请检查是否有用户发送

病毒或者垃圾邮件

[root@5498fdd77ab4 alertscripts]# ./sendmail.sh nieyunshuang@caiex.com nihao haha
Apr 28 13:31:09 5498fdd77ab4 sendEmail[10872]: ERROR => Received:       554 DT:SPM yeah smtp1,ClUQrEAZ9kIZoCFXx+jaAw--.8595S2 1461821466,please see http://mail.163.com/help/help_spam_16.htm?ip=124.126.224.62&hostid=smtp1&time=1461821466

554 DT:SPM 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件;

0 0
原创粉丝点击