操作系统: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. python - 定时清理ES 索引

    只保留三天 #!/usr/bin/env python3 # -*- coding:utf-8 -*- import os import datetime # 时间转化为字符串 now_time = ...

  2. 基础的 sparkSQL操作

    spark连接mysql操作 数据库jdbc 连接封装 package test.com import org.apache.spark.sql.{DataFrame, SparkSession} / ...

  3. linux递归查找文件内容并替换

    sed -i 's/原字符串/替换后字符串/g' `grep '搜索关键字' -rl /data/目标目录/ --include "*.html"` 上面是递归查找目录中所有的HT ...

  4. [BUAA软工]第0次个人作业

    [BUAA软工]第0次个人作业 本次作业所属课程 : 2019BUAA软件工程 本次作业要求: 第0次个人作业 我在本课程的目标: 熟悉软件工程流程,规范开发习惯 本次作业的帮助: 熟悉课程流程 Pa ...

  5. JavaScript实现大整数减法

    继上一篇博文写了大整数加法之后,我又模拟上篇博文的算法,自己实现了大整数减法. 大整数减法相对于加法来说,稍微复杂一点.由于要考虑一些情况: 1. 两个数相减,可能会出现结果为正.负和0三种情况: 2 ...

  6. Chapter 5 软件工程中的形式化方法

    从广义上讲,形式化方法是指将离散数学的方法用于解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动.狭义的讲,形式化方法是运用形式化语言,进行形式化的规格描述.模型推理和验证的方法. ...

  7. 注册表:DWORD

    百度百科 DWORD全称Double Word,是指注册表的键值,每个word为2个字节的长度,DWORD 双字即为4个字节,每个字节是8位,共32位. 在键值项窗口空白处单击右键,选择“新建”菜单项 ...

  8. C#简单窗体应用程序(一)

    使用C#创建控制台应用程序的基本步骤: (1)创建项目: (2)用户界面设计: (3)属性设置: (4)编写程序代码: (5)保存.调试.运行: 例题:创建一个Windows窗体应用程序,在窗体中添加 ...

  9. Good Time 冲刺 六

    一.今日完成任务情况 第六天 日期:2018.6.19 王怡镔:今天完善了页面,对部分不足进行改进. 于鑫宇:对界面进行完善. 胡雅馨:今天完成前端页面,并改善后端,完善项目. 黄 鹤:做完最后的打卡 ...

  10. thinkphp 学习1-模型

    1.用M()方法创建模型类 $model = M("configsettings"); 2.使用find()方法或select()方法返回结果集 find()只返回一行记录,sel ...