专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

zabbix从放弃到入门(9):定义报警媒介

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:59:10       共计:3606 浏览

这篇文章将会介绍zabbix中的”报警媒介”,也就是所谓的”Media types”。

在本博客中,”zabbix”是一个系列文章,如果你还不明白zabbix的相关概念,强烈建议从zabbix系列文章中的第一篇开始阅读,否则你可能无法理解这篇文章中涉及到的部分名词。

zabbix系列文章列表直达链接:zabbix入门系列

 

当zabbix中的某些被监控指标出现异常时,zabbix会通过哪种方式通知运维攻城狮呢?是通过邮件呢,还是通过短信呢,或者是通过其他方式呢?今天我们就来聊聊zabbix的报警方式,无论是通过邮件报警还是通过短信报警,无非都是通过某种”媒介”将报警信息传递给收信人,所以在zabbix中,报警方式被称为”报警媒介”,那么,zabbix都支持哪些报警媒介呢,我们一起来看看。

zabbix支持的报警媒介如下:

Email:邮件,这是最常用也是最传统的一种报警媒介,邮件报警,zabbix通过配置好的SMTP邮件服务器向用户发送对应的报警信息。

Script:脚本,当zabbix中的某些监控项出现异常时,也可以调用自定义的脚本进行报警,脚本的使用就比较灵活,具体怎样报警全看你的脚本怎么写。

SMS:短信,如果想要使用短信报警,则需要依赖短信网关(貌似需要北美的运行商)。

Jabber:即时通讯服务。

Ez Texting:商业的,收费的短信服务(北美运营商提供服务)。

 

看到上面的描述,我们能用的貌似只剩下了Email和Script了。那么在zabbix中,怎样定义对应的报警媒介呢,很简单,打开我们的zabbix控制台,点击”管理”—-“报警媒介类型”。

可以看到,默认已经存在一些报警媒介,我们可以对已经存在的报警媒介进行修改,也可以创建符合自己需要的报警媒介,点击”创建媒体类型”按钮。

 

点击上述按钮后,会出现如下界面,当我们创建没报警媒介时,默认类型为”电子邮件”。

 

展开”类型”下拉框,可以看到对应的几种报警媒介类型,这几种类型我们已经解释过,我们经常用到的无非就是电子邮件和脚本,此处我们选择”脚本”。

 

选择报警媒介类型为脚本后,配置界面如下,我们说过,通过脚本报警是非常灵活的,因为我们可以通过脚本发送邮件,发送短信,发送微信等,脚本内部具体通过哪种方式报警,取决于我们怎样编写脚本。

 

在配置脚本类型的”报警媒介”之前,我们需要先编写好对应的脚本,并且将脚本放置到对应的目录中,以便zabbix能够找到对应的脚本。那么此处,我们来动手编写一个能够发送邮件信息的脚本,这个脚本很简单,此处我们直接使用mail命令发送邮件,脚本内容如下。

从脚本内容可以看出,我们在脚本中接收了3个参数,第一个参数代表邮件发送给哪个邮箱,第二个参数代表邮件主题,第三个参数代表邮件内容,既然定义了参数,那么zabbix在调用此脚本的时候,必然需要传入对应的参数,zabbix会怎样传入参数呢,我们一会儿再聊。

 

当然,聪明如你一定想到了,上面的脚本只定义了发给谁,发什么,但是没有定义谁来发送邮件,那么现在,我们来配置默认的发件人,编辑/etc/mail.rc配置文件,加入如下内容。

set from=发件人邮箱

set smtp=smtp服务器

set smtp-auth-user=发件人邮箱账户

set smtp-auth-password=发件人邮箱账户密码

set smtp-auth=login

配置完成后,保存退出即可,但是需要注意,某些邮件服务器可以无法使用上述配置进行登录,需要进行测试,此处的smtp.sohu.com已经经过测试,可以通过这种方法调用邮箱发送邮件。

 

目前,我们已经配置了发送邮件的相关配置,并且编写了发送邮件的脚本,但是我们还需要另一步配置,因为zabbix在默认情况下,会去指定的目录中查找对应的报警脚本,所以,我们应该叫报警脚本放置到指定的目录中,zabbix默认的报警脚本目录应该存放在哪里呢,我们通过配置文件可以得到答案,打开/etc/zabbix/zabbix_server.conf配置文件。

通过AlertScriptsPath属性,可以配置报警脚本的指定位置,zabbix回去对应目录中查找报警脚本。

 

此处,我们将mail.sh脚本放置在对应目录中,并且设置权限如下。

 

上述步骤配置完成后,回到刚才的”报警媒介”配置界面,因为我们的脚本是通过mail命令进行邮件告警的,所以,我们为这个报警媒介取名为”MailScript”,如下图。

类型选择”脚本”,脚本名称为”mail.sh”,zabbix会自动到AlertScriptsPath属性对应的目录中查找相同名称的脚本,还记的我们刚才写的脚本吗,我们向脚本中传入了3个参数,我们可以通过”脚本参数”设定需要传入的参数,当zabbix调用对应脚本时,会自动把”脚本参数”中对应的值按照顺序传入对应的脚本中。

 

点击上图中的”添加”连接,可以添加对应的参数,如下图,我们添加了三个参数。

从上图可以看出,我们在这个报警媒介中设定了3个参数,这三个参数是什么意思呢,他们分别代表报警接收人,报警的主题,报警的信息。

其实,这种由大括号括起,并且由大写字母组成的字符串在zabbix中被称作”宏”,我们可以理解为zabbix内置的变量,当不同的警告发生时,上述的三个”宏”的值会自动发生变化。

那么,除了上述的三个”宏”,zabbix还有那些”宏”呢?其他”宏”都代表了什么含义呢?我们可以查看zabbix的官方在线帮助手册,zabbix3.0的宏列表地址如下。

https://www.zabbix.com/documentation/3.0/manual/appendix/macros/supported_by_location

在zabbix3.0之前,上图中的三个参数是默认传入对应脚本的,不用我们再手动进行定义,但是从zabbix3.0开始,如果想要向对应的脚本传入上述三个参数,则需要按照上图进行定义。

 

好了,定义完成后,点击”添加”按钮,即可创建一个名称为”MailScript”的报警媒介了。

到此处,我们已经成功的定义了一个”报警媒介”,从此,我们可以通过这个媒介,向用户发送报警信息了。

 

但是,如果想要某个zabbix用户能够接收到从”MailScript报警媒介”发送过来的报警,还需要进一步配置,比如,当”Admin”用户想要通过”MailScript”报警媒介接收警报时,则必须能够”适配”这种媒介,如果”Admin”用户没有使用”MailScript媒介”的能力,那么”Admin”用户将无法接收到由”MailScript媒介”发出的报警信息。我们应该怎样让用户能够对应的报警媒介呢,配置步骤如下。

打开zabbix控制台,点击”管理”—-“用户”,选中要配置的用户,此处以管理员为例。

 

点击下图中,红框中的”报警媒介”。

 

点击下图中的”添加”连接。

 

在类型中,选择我们刚才创建的”报警媒介”,选择”MailScript”,因为”MailScript”最终还是使用邮件发送信息,所以此处,收件人填写”Admin”用户所使用的报警信息接收邮箱,同时,还能够选择在哪些时段使用这种”报警媒介”接收信息,接收哪种级别的报警信息,是不是很人性化?配置如下图后,点击添加按钮。

 

确定无误后,点击”更新”按钮。

 

此刻,如果有对应的报警信息需要通过”MailScript媒介”发送给”Admin”用户,”Admin”用户就可以接收到对应的报警信息了。所以,在使用的过程中,如果定义了新的”报警媒介”,不要忘记为对应的用户添加”报警媒介”。

好了,我们已经能够根据实际需要,定义一个”报警媒介”了

 

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:zabbix从放弃到入门(10):动作详解 | ·下一条:zabbix从放弃到入门(8):触发器详解之二,触发器语法

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有