简介

zabbix可以支持多种 报警方式,在初始化后系统默认支持邮件报警(相对而言,邮件方式报警是最便宜最方便的)。但是从实际使用的角度来看,这种方式过于简单。原因在于它不支持 邮件的用户验证,在今天不验证的邮件太少了(同时也太不安全了),而要在本机建一个邮件服务器又太复杂而且对于接收者邮件很容易被认为垃圾邮件。今天我们 可以利用开源的msmtp项目完成邮件报警的操作。

前提条件:
(1) zabbix服务器端已经成功安装并且运行。
(2) zabbix客户端已经成功建立并且运行。

前提条件:

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

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

1 下载并且安装msmtp软件

Wget http://sourceforge.net/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 smtp.sohu.com                    #你的发送邮件服务器
port 25
from zabbix2014@sohu.com      #要从哪个邮箱发出
auth login                                           #验证方式
tls off                                                #不使用tls
user  zabbix2014                      #邮箱用户名
password xxxxx-xxx                  #邮箱密码,如果你觉得不安全可以把文件改为600属性
logfile /var/log/mmlog
保存退出。

3、简单测试一下

/usr/local/msmtp/bin/msmtp  zabbix2014@sohu.com 
hello,test 
ctrl d
cat /usr/local/msmtp/msmtp.log 看看有没有成功。 
  然后再到sohu邮箱中,看看信收到没有

报错如下

[root@cache-2 msmtp-1.4.32]# /usr/local/msmtp/bin/msmtp zabbix2014@sohu.com
msmtp: authentication failed (method LOGIN)
msmtp: server message: 535 5.7.0 Invalid result
msmtp: could not send mail (account default from /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="zabbix2014@sohu.com"
set editor="vim"
简单的4行就可以了
好了,让我们来测试一下吧!

测试一下:echo"test mail" | mutt -s "test" zabbix2014@sohu.com

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

echo"test mail 2014 content tom 2" | mutt -s "test 2014 title2"  zabbix2014@sohu.com

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

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

1)vim/usr/bin/zabbix2014,并写入如下内容:
#!/bin/bash
echo "$3" | mutt -s "$2"$1       # $3表示邮件内容、$2表示邮件标题、$1表示收件人
(2)chmod a+x /usr/bin/zabbix2014

6、    zabbix配置
(1)创建meida types
1.登录到zabbix,进入“Administration" >> ”Media types",点击右上角“Create Media Type"。 Description填"mediatype-zabbix2014"或其它名称,Type选择"Script",Script填” zabbix2014”。
2.点击save保存,如下图所示:

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

8、zabbix用户配置

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

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

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

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

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

PS:这个验证报警的实现,请参考 http://blog.csdn.net/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 2014 12:34:06 ,

看到提示:

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

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

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

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

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

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

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的深入的东西需要继续学习继续专研。

且行且努力吧。

参考文章:http://bbs.hx95.com/read-htm-tid-181423.html

转载于:https://blog.51cto.com/asaderas/1565712

如何实现邮件报警通知以及免费短信报警通知相关推荐

  1. [Zabbix] 怎样实现邮件报警通知以及免费短信报警通知

     前提条件: (1) zabbixserver端已经安装成功而且执行. (2) zabbixclient已经成功建立而且执行. 1 下载而且安装msmtp软件 Wget http://sourcefo ...

  2. Zabbix 如何实现邮件报警通知以及免费短信报警通知

     前提条件: (1) zabbix服务器端已经成功安装并且运行. (2) zabbix客户端已经成功建立并且运行. 1 下载并且安装msmtp软件 Wget http://sourceforge.ne ...

  3. 【python 监控报警】python 免费短信报警和电话报警

    还觉得钉钉报警不够用,就启动电话报警了,twilio是神器. 1.打开twilio网址,注册一个账户. 官方网址:https://www.twilio.com/ 2.安装库: pip install ...

  4. Nagios飞信linux系统免费短信报警配置

    Nagios飞信linux系统免费短信报警配置 2009-12-10 15:42 http://www.chinaunix.net 作者:solaris小兵   发表于:2009-05-26 16:2 ...

  5. 使用zabbix监控数据并实现邮件、电话、微信报警

    前言 zabbix 作为一款优秀的企业级开源监控系统,它可以采集和处理所有类型的监控数据,具有灵活的报警机制.与cacti 与 nagios相比,cacti画图比nagios漂亮,但是报警相对较弱,而 ...

  6. zabbix邮件报警接入,微信报警接入

    本文接上一篇文章http://blog.51cto.com/superleedo/2071393 详细图解zabbix告警功能使用 邮件报警接入 1 添加报警媒介 管理--报警媒介类型--Email ...

  7. Zabbix 邮件报警、钉钉报警、微信报警

    文章目录 一.部署server端和agent端 1.实验准备 2.部署zabbix-server[监控端] (1)安装zabbix-server (2)启动mariadb (3)准备数据库及授权 (4 ...

  8. Alertmanager报警使用webhook飞秋通知

    Alertmanager报警使用webhook飞秋通知 本文介绍Alertmanager报警使用飞秋通知 1.Alertmanager换成webhook进行测试 global:# 在没有报警的情况下声 ...

  9. 【zabbix】自定义监控、邮件报警、企业微信报警、钉钉报警(详细)

    环境说明 centos 7 版本 zabbix 6.0 版本 主机名 IP地址 备注 zabbix 192.168.10.150 服务端,同时自我监控 zabbix-2 192.168.10.151 ...

最新文章

  1. VB.NET模块的总结(一)精简版
  2. CVPR 2021 更好的Backbone,伯克利谷歌提出BoTNet,精度达84.7%
  3. python傅里叶变换例子
  4. linux下SVN配置笔记(转)
  5. 10-Flutter移动电商实战-使用FlutterSwiper制作轮播效果
  6. Python报错:UnicodeDecodeError:‘ascii‘ codec can‘t decode byte 0xe8 in position
  7. 判别器loss为0_TensorFlow v2.0实现逻辑斯谛回归
  8. 力扣174. 地下城游戏
  9. php class使用方法,php的类使用方法问题
  10. win10下安装和卸载Ubuntu双系统
  11. 利用这些心理学效应,轻松拿到满意offer
  12. javascript常用函数集
  13. 单片机相关知识点,最强科普总结!
  14. 计算机怎么调整桌面图标的大小,电脑显示器屏幕图标大小如何设置_电脑显示屏内图标大小怎么调...
  15. 苹果手机屏幕镜像_微软应用上线屏幕镜像功能:可在PC端控制安卓手机
  16. 计算机学院学生王鹏,王鹏-计算机与控制工程学院
  17. TortoiseSVN安装及使用总结
  18. 第八天 Python爬虫之Rquests库打码平台的简单使用
  19. nsis打包时候如何让附带的第三方软件静默安装
  20. git---全局设置用户名、密码、邮箱

热门文章

  1. 在寻找Mac上的高清视频播放器吗?
  2. 怎么判断噎到没噎到_吃东西噎住了怎么办?这个救命的动作一定要知道!
  3. scanf返回值被忽略问题
  4. 央视《对话》| “中国脑计划”:向最后的前沿进发
  5. Node 文件操作,缓存区 Buffer 理解 ?
  6. c盘清理软件:清理垃圾、扩大c盘和系统迁移
  7. 一个优秀的CTO,如何把团队带散?
  8. 面试精讲:负载均衡算法
  9. 范数、范数球(整理)
  10. VB中CopyMemory函数