码迷,mamicode.com
首页 > 其他好文 > 详细

zabbix 报警

时间:2016-04-29 16:48:28      阅读:539      评论:0      收藏:0      [点我收藏+]

标签:

首先我们需要明白:

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

技术分享

media_email

 选项 描述
 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里面添加刚增加的媒介

技术分享

email

参数说明

选项 描述
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了.

下载安装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->创建

技术分享

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 - 禁用中.
注意: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 发送的邮件内容包含了未被许可的信息,或被系统识别为垃圾邮件。请检查是否有用户发送病毒或者垃圾邮件;

zabbix 报警

标签:

原文地址:http://blog.csdn.net/chelsea_nie/article/details/51261133

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!