配置邮件分为两种情况:

第一种:使用远端邮件服务器发送报警邮件
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. 使用Spring的注解方式实现AOP

    Spring对AOP的实现提供了很好的支持.下面我们就使用Spring的注解来完成AOP做一个例子. 首先,为了使用Spring的AOP注解功能,必须导入如下几个包.aspectjrt.jar,asp ...

  2. jar MANIFEST.MF 汇总

    : Manifest-Version: 1.0Created-By: Apache Ant 1.5.1Extension-Name: Struts FrameworkSpecification-Tit ...

  3. sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"问题解决

    安装一个软件时,遇到这个问题sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 上网 ...

  4. IIS7 Appcmd.exe 使用

    如果您运行的是 64 位 Windows,请从 %windir%\system32\inetsrv 目录而不是 %windir%\syswow64\inetsrv 目录中使用 Appcmd.exe. ...

  5. MSF命令 收集

    一.msfconsole ?   帮助菜单 back 从当前环境返回 banner   显示一个MSF banner cd   切换目录 color   颜色转换 connect   连接一个主机 e ...

  6. PHP函数补完:stream_context_create()模拟POST/GET

    PHP函数补完:stream_context_create()模拟POST/GET PHP流的创建 在 2011年01月08日 那天写的     已经有 9408 次阅读了 感谢 参考或原文   服务 ...

  7. shell 中的数学计算

    1.1.第一种——expr格式:expr 操作数 1 操作符 操作数 2举例:      1 expr 1 + 2 TMP=$(expr 1 + 2)      2 expr 1 + 4 / 3 TM ...

  8. C与C++连续赋值的区别

    int a,b,c,d; a = b = ; // ( a!=b?a:b) = 1000;//如果a不等于b 那么a = 100;这句话执行完 a还是等于5,b= 100: printf(" ...

  9. enhance convenience rather than contribute to the fundamental power of the language

    Computer Science An Overview _J. Glenn Brookshear _11th Edition Universal Programming Languages In  ...

  10. PureBasic 打开一个一行有多个数据的文件并读取其中某个数据

    如果有一个文件如下: TITLE = "Water Wurface Elevation"VARIABLES = "X", "Y", &quo ...