操作系统:CentOS 7

Web环境:Nginx+MySQL+PHP

zabbix版本:zabbix-2.4.8.tar.gz

邮件服务:msmtp-1.4.32.tar.bz2     #http://download.csdn.net/detail/allen_a/9504581

一、解压,编译,安装,配置msmtp

tar xf msmtp-1.4.32.tar.bz2

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

make && make install

mkdir /usr/local/msmtp/etc

touch /usr/local/msmtp/etc/msmtprc

在/usr/local/msmtp/etc/msmtprc中写入如下内容:

defaults

account michael_zhou

host smtp.sohu.com    #你发邮件用户的smtp服务器

domain sohu.com    #域名    非顶级域名

from ******@sohu.com   #你发件人的用户邮箱

auth login

user ******@sohu.com   #你发件人的用户邮箱

password ******   #你发件人的邮箱密码

account default:michael_zhou

logfile /var/log/maillog     #邮件日志

测试一下:/usr/local/msmtp/bin/msmtp i@chinadba.com,输入内容后按ctrl+D发出。

二、在实际测试中发现直接使用msmtp命令发出去的邮件会看不到发件人和主题,只能看到邮件内容,所以我使用mutt挂接在msmtp上,yum install mutt*

修改mutt的配置文件/etc/Muttrc, 不是/etc/muttrc ,M要大写

1.set sendmail="/usr/local/msmtp/bin/msmtp"

2.set use_from=yes

3.set realname=******@sohu.com #发件人邮箱地址

4.set editor="vi"

5.wq   #保存退出

测试一下:echo "邮件报警测试" | mutt -s "测试" ******@qq.com #收件人地址

发送邮件的应用有很多,通nagios相同,使用的是sendEmail

三、创建 zabbix用于发送邮件的脚本,脚本放在什么位置随便,但是要保证zabbix能找到!

(1)vim /usr/local/zabbix/share/zabbix/alertscripts/mail,并写入如下内容:

#!/bin/bash

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

(2)chmod 755 /usr/local/zabbix/share/zabbix/alertscripts/mail

chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/mail

---------------脚本的编写可以先放到一边,记住$1,$2,$3参数分别代表的意义。

在zabbix_server.conf配置文件中,有参数AlertScriptsPath和ExternalScripts

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts/mail ---用户自定义的media types脚本

ExternalScripts=/usr/local/zabbix/share/zabbix/alertscripts/mail ---用户自定义的检查的脚本(item)

这样才能找到你的脚本,因为你在frontend中只是输入脚本的名称,没有路径。

四、zabbix配置

----------------------------在定义Trigger时,Multiple PROBLEM events generation这个必须要打勾,在官网上该参数被解释为

By checking this option you can set that an event is generated upon every 'Problem' evaluation of the trigger.

(1)创建meida types

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

2.点击update更新

(2)创建actions

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

2.最后点击保存

(3) zabbix用户配置

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

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

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

点击"Save"保存配置。

至此配置完成,测试!

Zabbix利用msmtp+mutt发送邮件报警的更多相关文章

  1. Zabbix利用msmtp+mutt发送邮件报警(公告:这文章有问题,还没有修改,2016-08-25)

    [root@86 ~]# wget http://jaist.dl.sourceforge.net/project/msmtp/msmtp/1.4.32/msmtp-1.4.32.tar.bz2 百度 ...

  2. msmtp+mutt发送邮件报警

    1).yum 安装 msmtp+mutt yum install -y msmtp mutt 2).配置Muttrc信息 vim /etc/Muttrc set sendmail="/usr ...

  3. 烂泥:ubuntu下配置msmtp+mutt发送邮件

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb. 本文主要介绍如何在Linux下使用msmtp+mutt发送邮件,当然Linux下发送邮 ...

  4. CentOS7 msmtp+mutt发送邮件

    一.安装软件 # msmtp软件各版本下载地址:https://marlam.de/msmtp/download/ [root@--- ~]# wget https://marlam.de/msmtp ...

  5. L05-Linux部署msmtp+mutt发送邮件

    一.前言 首先,得明白发送一封邮件的流程,下面一段理论摘抄自廖雪峰的官网网站https://www.liaoxuefeng.com/article/00137387674890099a71c04005 ...

  6. 【Linux】Zabbix + MPM + msmtp + mutt 监控MySQL + 邮件报警

    Zabbix部署参考博文 http://blog.sina.com.cn/s/blog_5611597901017oe0.html  MPM安装配置参考博文和MPM官网下载地址 http://blog ...

  7. zabbix利用mutt和msmtp配置邮件报警

    Mutt安装 yum –y install mutt msmtp安装 yum –y install openssl openssl-devel libntlm libntlm-devel cyrus- ...

  8. Zabbix使用外部邮箱服务器发送邮件报警

    本来是想自己写一篇文章的,但是看到发现网上有写的不错的,于是乎又抄别人的文章,作为记录. 使用外部邮箱来发生邮件明显好处就是防止其他邮箱服务器当垃圾邮件处理,另一方面能降低收邮件延迟. 下面开始进行使 ...

  9. zabbix使用sendEmail发送邮件报警

    sendEmail是一个轻量级,命令行的SMTP邮件客户端.如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php.bashperl和web站 ...

随机推荐

  1. ovs源码阅读--元组空间搜索算法

    关于TTS(元组空间搜索算法)的详细介绍可以参考OVS+DPDK Datapath 包分类技术这篇文章,本文只对该篇博客进行简单的介绍,案例和部分图片来自于OVS+DPDK Datapath 包分类技 ...

  2. Django数据库 相关之select_related/prefetch_related

    - 性能相关 user_list = models.UserInfo.objects.all() for row in user_list: # 只去取当前表数据 select_related,主动连 ...

  3. 第26次Scrum会议(11/14)【欢迎来怼】

    一.小组信息 队名:欢迎来怼小组成员队长:田继平成员:李圆圆,葛美义,王伟东,姜珊,邵朔,阚博文 小组照片 二.开会信息 时间:2017/11/14 11:35~11:57,总计22min.地点:东北 ...

  4. Daily Scrum 11.7

    明后两天周六日,按照TFS的日常安排应该是休息,所以让他们自由完成已经分配的任务. 姓名 今日任务 黄新越 提取爬取网页的关键字并输出到接口 刘垚鹏 程序总架构的修改与多线程的学习 王骜 多线程学习 ...

  5. POJ 1112 Team Them Up! 二分图判定+01背包

    题目链接: http://poj.org/problem?id=1112 Team Them Up! Time Limit: 1000MSMemory Limit: 10000K 问题描述 Your ...

  6. 微服务负载均衡 —— ribbon

    负载均衡是系统高可用.缓解网络流量和处理能力扩容的重要手段,广义的负载均衡指的是服务端负载均衡,如硬件负载均衡(F5)和软件负载均衡(Nginx).负载均衡设备会维护一份可用的服务器的信息,当客户端请 ...

  7. Java& Vector与ArrayList区别

    在写java的时候,基本上都喜欢用arraylist,甚至我都不知道有个vector的存在.查了一下发现又是线程安全问题...咋个线程安全天天围着我转呢...多得阿里巴巴,让我开始认识java的所谓线 ...

  8. CefSharp,Winform程序中加载web网页

    源码地址:https://github.com/cefsharp/CefSharp 开源相关:https://github.com/cefsharp/CefSharp/tree/master/CefS ...

  9. 深入理解JAVA I/O系列四:RandomAccessFile

    一.简述 这个是JDK上的截图,我们可以看到它的父类是Object,没有继承字节流.字符流家族中任何一个类.并且它实现了DataInput.DataOutput这两个接口,也就意味着这个类既可以读也可 ...

  10. PAT 甲级 1142 Maximal Clique

    https://pintia.cn/problem-sets/994805342720868352/problems/994805343979159552 A clique is a subset o ...