配置邮件分为两种情况:

第一种:使用远端邮件服务器发送报警邮件
Linux系统版本:CentOS6.5-64

下载mailx:

安装邮件发送软件mailx(CentOS6.5自带mailx软件包为12.4,故无需下载源码安装)
[root@vm-zabbix ~]# rpm -qa |grep mailx
mailx-12.4-8.el6_6.x86_64
查看mailx软件版本
[root@vm-zabbix ~]# mailx -V
12.4 7/29/08
配置zabbix服务端邮件地址
[root@vm-zabbix ~]# tail -3 /etc/mail.rc 
set from=zabbix@mail.xkops.com smtp=smtp.sina.net
set smtp-auth-user=zabbix@mail.xkops.com smtp-auth-password=123456
set smtp-auth=login
使用mailx测试发送邮件
echo "zabbix test mail" | mailx -s "Test-mail" handetian@126.com ---查看自己126邮箱是否有此封测试邮件。
创建media类型
设置用户报警邮箱
在web界面配置zabbix动作Action选项
故障:{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!
告警主机:{HOSTNAME1},IP地址:{HOST.CONN}
告警时间:{EVENT.DATE}{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
恢复:{TRIGGER.STATUS},服务器:{HOSTNAME1}已经恢复!:{TRIGGER.NAME}    
 告警主机:{HOSTNAME1} ,IP地址:{HOST.CONN}
告警时间:{EVENT.DATE}{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
 
接着配置Operations选项
编写sendmail.sh脚本
[root@vm-zabbix ~]# cd /yc/usr/local/zabbix/share/zabbix/alertscripts/
[root@vm-zabbix alertscripts]# cat sendmail.sh 
#!/bin/bash
echo "$3" |mailx -"$2" $1
*注释:其中$3为报警邮件内容,$2为报警邮件主题,$1为用户接收邮箱
[root@vm-zabbix alertscripts]# chown -R zabbix.zabbix sendmail.sh
[root@vm-zabbix alertscripts]# chmod +x sendmail.sh
测试,停掉任意一台机器的zabbix_agentd,过几分钟查看126邮箱中是否存在报警邮件。
附:python邮件发送脚本。
[root@GXB-CTRLCENTER alertscripts]# cat sendmail.py
#!/usr/bin/python
#coding:utf-8 import smtplib
from email.mime.text import MIMEText
import sys
reload(sys)
sys.setdefaultencoding('utf8')
#邮箱服务器地址
mail_host = 'smtp.exmail.qq.com'
#邮箱用户名
mail_user = 'zabbix@xkops.com'
#邮箱密码
mail_pass = 'Z123456'
mail_postfix = 'xkops.com' def send_mail(to_list,subject,content):
me = mail_user+"<"+mail_user+"@"+mail_postfix+">"
msg = MIMEText(content,_charset='utf-8')
if not isinstance(subject,unicode):
subject = unicode(subject)
msg['Subject'] = subject
msg['From'] = me
msg['to'] = to_list try:
s = smtplib.SMTP()
s.connect(mail_host)
s.login(mail_user,mail_pass)
s.sendmail(me,to_list,msg.as_string())
s.close()
return True
except Exception,e:
print str(e)
return False if __name__ == "__main__":
send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
 
第二种:使用zabbix服务器本地邮件服务器发送报警邮件(待完善)

zabbix配置发送报警邮件的更多相关文章

  1. 使用Zabbix服务端本地邮箱账号发送报警邮件及指定报警邮件操作记录

    邮件报警有两种情况:1)Zabbix服务端只是单纯的发送报警邮件到指定邮箱,发送报警邮件的这个邮箱账号是Zabbix服务端的本地邮箱账号(例如:root@localhost.localdomain), ...

  2. 使用python脚本配置zabbix发送报警邮件

    #前提得在zabbix_server配置文件中配置触发脚本的目录,例如,我配置的在/usr/local/zabbix/server/scripts目录下 编写python脚本如下 因为我的服务器在腾讯 ...

  3. Zabbix配置微信报警通知

    Zabbix告警可以通过邮件,微信,电话,短信等方式发送告警消息. 电话和短信需要向运营商购买相应的网关,需要付费: 邮件和微信是免费的,可以根据业务需要选择相应的告警模式 Zabbix版本:3.2 ...

  4. zabbix 发送报警邮件

  5. zabbix 配置发送邮件报警

    标签:监控/SQLServer/Windows 概述 本篇文章主要介绍如何配置zabbix借助外部邮件进行发送邮件报警,zabbix通过配置文件调用mailx来进行邮件的发送.在Centos6以上的版 ...

  6. zabbix配置微信报警

    首先我们先目睹下微信报警的效果 接下来我们正式开始操作. 一:注册企业微信. 打开企业微信注册:http://work.weixin.qq.com 根据以上提示填入相应的内容,然后注册即可. 二:登录 ...

  7. linux(centos8):prometheus使用alertmanager发送报警邮件(prometheus 2.18.1/alertmanager 0.20.0)

    一,alertmanager的用途 1,Alertmanager的作用: Alertmanager是一个独立的报警模块, 它接收Prometheus等客户端发来的警报,并通过分组.删除重复等处理, 通 ...

  8. 监控服务器ssh登录,并发送报警邮件

    最近想监控下云主机的ssh登录情况,所以开始写ssh登录报警监控.实现方式并不难. 一:邮箱申请开启SMTP 在邮箱中选择“设置”----->“账户” 在如下图处开启POP3/SMTP服务,并生 ...

  9. linux下发送报警邮件(mailx)

    本文章主要解决 linux下监控到系统状况后怎么发邮件报警的问题. 如果你是最小化安装的centos/redhat 系统,是没有自带mailx的,也就是没有mail 命令. 解决办法 yum -y i ...

随机推荐

  1. 六、saltstack的module组件

    Module是saltstack日常使用中用的最多的一个组件.用于管理操作对象. 查看系统module: [root@super65 ~]# salt 'super66' sys.list_modul ...

  2. hdu Cup

    这题是道水题,用数学方法做比较简单.因为在做二分法的专题,所以这里采用二分的方式做,很简单,但是还是要用到数学的知识,比如三角形相似,圆台的 体积公式等. #include"iostream ...

  3. Java8 十大新特性详解(转)

    本教程将Java8的新特新逐一列出,并将使用简单的代码示例来指导你如何使用默认接口方法,lambda表达式,方法引用以及多重Annotation,之后你将会学到最新的API上的改进,比如流,函数式接口 ...

  4. fastjson格式化bean的简易属性过滤器

    fastjson的bean属性过滤器 有的时候,我们在接口开发时,一个完整的bean会包含很多属性,但是前端接口只需要其中的某几个属性时,应该在对json的返回要进行精简.下面直接看代码 packag ...

  5. metasploit--exploit模块信息

    Name                                             Disclosure Date  Rank    Description ----           ...

  6. PHP 多个文件上传

    关键函数: is_uploaded_file():用于判断指定的文件是否是通过 HTTP POST 上传的,如果是则返回 TRUE.用于防止潜在的攻击者对原本不能通过脚本交互的文件进行非法管理,这可以 ...

  7. ios_常用关键字

    一.关键字说明 1. @synthesize关键字:  根据@property设置,自动生成成员变量相应的存取方法,从而可以使用点操作符来方便的存取该成员变量 . 2. @implementation ...

  8. 前端框架Bootstrap的Modal使用Ajax数据源,如何避免数据被缓存

    1.绑定事件,在关闭的时候,直接将数据清除: $("#model").on("hidden.bs.model",function(e){$(this).remo ...

  9. Subset sum problem

    https://en.wikipedia.org/wiki/Subset_sum_problem In computer science, the subset sum problem is an i ...

  10. anti-pattern - Hard coding

    https://en.wikipedia.org/wiki/Hard_coding Considered an anti-pattern, hard coding requires the progr ...