失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Zabbix 如何实现邮件报警通知以及短信报警通知

Zabbix 如何实现邮件报警通知以及短信报警通知

时间:2022-09-01 01:37:58

相关推荐

Zabbix 如何实现邮件报警通知以及短信报警通知

前提条件:

(1) zabbix服务器端已经成功安装并且运行。

(2) zabbix客户端已经成功建立并且运行。

1 下载并且安装msmtp软件

Wget/projects/msmtp/files/msmtp/1.4.32/msmtp-1.4.32.tar.bz2/download

tar jxvf msmtp-1.4.32.tar.bz2

cd msmtp-1.4.32

./configure--prefix=/usr/local/msmtp

Make

Make install

2、手动建立配置文件,输入外部smtp地址

mkdir –p /usr/local/msmtp/etc

vi /usr/local/msmtp/etc/msmtprc

添加以下内容

account default

host #你的发送邮件服务器

port 25

from zabbix@#要从哪个邮箱发出

auth login

tls off

user zabbix#邮箱用户名

password xxxxx-xxx #邮箱密码,如果你觉得不安全可以把文件改为600属性

logfile /var/log/mmlog

保存退出。

3、简单测试一下

/usr/local/msmtp/bin/msmtp zabbix@

hello,test

ctrl d

cat /usr/local/msmtp/msmtp.log 看看有没有成功。

然后再到sohu邮箱中,看看信收到没有

报错如下

[root@cache-2msmtp-1.4.32]#/usr/local/msmtp/bin/msmtpzabbix@

msmtp:authenticationfailed(methodLOGIN)

msmtp:servermessage:5355.7.0Invalidresult

msmtp:couldnotsendmail(accountdefaultfrom/usr/local/msmtp/etc/msmtprc)

Google之后,需要安装 mutt组件

4、下面开始安装 MUTT如果是CentOS的话直接用yum就好了

yum install mutt

安装完成后要手动给他建立一个配置文件,

vim /etc/Muttrc

setsendmail="/usr/local/msmtp/bin/msmtp" #你的msmtp命令路径

set use_from=yes

set realname="zabbix@"

set editor="vim"

简单的4行就可以了

好了,让我们来测试一下吧!

测试一下:echo"test mail" | mutt -s "test" zabbix@

OK,测试了下,能收到已经发送的email,如下所示:

echo"test mail content tom 2" | mutt -s "test title2" zabbix@

5、创建 zabbix用于发送邮件的脚本

脚本放在什么位置随便,但是要保证zabbix可以找到!

1)vim/usr/bin/zabbix,并写入如下内容:

#!/bin/bash

echo "$3" | mutt -s "$2"$1 # $3表示邮件内容、$2表示邮件标题、$1表示收件人

(2)chmod a+x /usr/bin/zabbix

6、zabbix配置

(1)创建meida types

1.登录到zabbix,进入“Administration" >> ”Media types",点击右上角“Create Media Type"。 Description填"mediatype-zabbix"或其它名称,Type选择"Script",Script填” zabbix”。

2.点击save保存,如下图所示:

7、创建actions

1.登录到zabbix,进入"Configation" >> "Actions",点击右上角"Create Actions"。输入Name “action-zabbix” ,其它都默认点击右侧“Action Operations"下的"New"按钮,"Operation Type"选择"Send message","Send Message to"选择一个或多个要发送消息的用户组,”Send only to"选择我们之前新增的mediatype-zabbix。

2.点击save保存,如下图所示:

8、zabbix用户配置

登录到zabbix, 进入"Adimistration" >>"Users",在之前选定要发送消息的组里的Members栏位里选择一个用户,例如选择AdminZabbix用户。

在用户信息修改界面最下方的”Media"处点击"Add"按钮。

Type选择"mediatype- zabbix",Send to填入收件人地址,点击Add添加。

点击"Save"保存配置。如下图所示:

9 测试验证邮件发送功能是否正常。

PS:这个验证报警的实现,请参考 /mchdba/article/details/24540017里面有描述mysql.ping_test是如何建立并生效的。

9.1 去stop服务器上的mysql服务,一会就应该会报警

[root@db-m2-slave-1~]# service mysql stop

Shutting downMySQL...[确定]

[root@db-m2-slave-1~]#

但是没有收到email,所以我们需要去看events,是否有提示为什么会发不出email来。进去目录Monitoring—> EventsGroup(选All)Host(选要监控的数据库主机)Source(选Trigger)。

点开最左边一列的连接 02 May 12:34:06 ,

看到提示:

/usr/local/zabbix/scripts/zabbix: [2] Nosuch file or directory

记得是放在 /usr/bin/zabbix ,所以将脚本放在提示所需要的目录上面,直接mv一下即可:

mv/usr/bin/zabbix /usr/local/zabbix/scripts/zabbix

之后会看到新的报警PROBLEM信息,email已经发送出去了,如下图:

9.2 改email地址,改成139邮箱,并且附带免费短信报警功能实现。

进入目录,AdministrationUsers Zabbix administrators Users (1) AdminZabbix(最左边一列)Media(选择中间的那一个栏目)—> mediatype-zabbix(选择用Trigger所用的mediatype)Edit(点击进去修改)Send to(后面的输入框里面填写上139的email,比如xxx@),如下图所示::

9.3 切换139邮箱来验证发送短信功能

注册139邮箱,打开email,stop以及start数据库上面的mysql进程服务,就会收到报警email以及短信通知,报警email如下:

记得开启短信提示功能,短信免费。

9.4 如何让zabbix继续发送报警信息直到恢复正常为止。

进入目录,ConfigurationHosts选中主机TriggerName(比如进入check_mysql_status)在Multiple PROBLEM events generation一栏打勾Save。如下图所示:

10 总结:

第一次zabbix的邮件报警试验成功了,折腾了很多天,也咨询了很多朋友,在此感谢他们,下面还有许多zabbix的深入的东西需要继续学习继续专研。

且行且努力吧。

参考文章:/read-htm-tid-181423.html

附上网友北京酱油帝的建议,如何验证trigger报警成功:

要想验证trigger的有效性很简单:

第一,trigger在monitor的界面有个events选项看到没有,那里面是可以点击机器ip的,你看你定义的trigger有没有发生。

第二,第二,如果trigger发生了,是要看脚本也就是media调用有没有成功,如果成功了,最好在脚本里面加上日志。

如果觉得《Zabbix 如何实现邮件报警通知以及短信报警通知》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。