本来是想自己写一篇文章的,但是看到发现网上有写的不错的,于是乎又抄别人的文章,作为记录。

使用外部邮箱来发生邮件明显好处就是防止其他邮箱服务器当垃圾邮件处理,另一方面能降低收邮件延迟。

下面开始进行使用外部邮箱配置:

zabbix服务端配置:

操作系统:CentOS7_x64

1、  安装一个邮件发送程序mailx工具(msmtp+mutt也可以实现外部邮箱发送邮件)

[root@V253 ~]# yum install mailx -y

打开mailx配置文件,在末尾添加如下信息:

[root@V253 ~]# vi /etc/mail.rc

set from=baojingtongzhi@163.com smtp=smtp.163.com

setsmtp-auth-user=baojingtongzhi@163.com smtp-auth-password=123456

set smtp-auth=login

2、  测试是否能正常发送邮件

[root@V253 ~]# echo "this is test mail." |mail -s "test mail" xxx@163.com

注:如果正常收到邮件,说明配置成功!

3、  写邮件发送脚本

[root@V253 ~]# cd /usr/local/zabbix/share/zabbix/alertscripts

[root@V253alertscripts]# vi sendmail.sh

1
2
3
4
5
6
#!/bin/bash
file=/tmp/zabbix_mail.txt
echo "$3" > $file
dos2unix -k $file
/bin/mail -s "$2" $1 < $file
# echo "$3" | mail -s "$2" $1 #如果发送邮件完全是英文的,可以只使用这一条

[root@V253alertscripts]# yum install dos2unix -y

注:使用dos2unix工具是为解决zabbix发送邮件出现乱码和收到的邮件是*.bin的情况。

$3 是前端定义的邮件内容,$2是前端定义的标题,$1是前端定义的收件人

更改脚本属主组并添加执行权限:

[root@V253alertscripts]# chown zabbix.zabbix sendmail.sh

[root@V253alertscripts]# chmod +x sendmail.sh

以上是服务端配置,以下是前端配置:

1、  创建一个媒体类型

2、  给用户添加收件人

3、  添加动作

先配置Operations菜单,否则在Action菜单会添加不成功:

自带的内容有些复杂,可以自定义邮件内容:

主题:Problem:{TRIGGER.NAME}

内容:

1
2
3
4
5
6
7
Host: {HOSTNAME1}
Date: {EVENT.DATE} {EVENT.TIME}
Level: {TRIGGER.SEVERITY}
Problem: {ITEM.NAME}:{ITEM.VALUE}
Item: {TRIGGER.KEY1}
CurrentStatus: {TRIGGER.STATUS}:{ITEM.VALUE1}
EventID: {EVENT.ID}

使用了Operations里面报警信息为默认邮件信息,所以Action里面邮件信息就没用了!

配置正常的话,这时已经可以使用外部邮箱发邮件,你可以关掉一台zabbix_agentd测试下,看会不会触发告警,给你发邮件。祝你成功!

转载于:http://lizhenliang.blog.51cto.com/7876557/1709933

补充,我当时候设置的时候也有出现乱码并且把是内容当附件发送了。我是修改系统的字符集就ok了。

Zabbix使用外部邮箱服务器发送邮件报警的更多相关文章

  1. zabbix 配置外部邮件server发送邮件报警

    一.安装配置msmtp 1.下载msmtp wget http://downloads.sourceforge.net/msmtp/msmtp-1.4.30.tar.bz2?big_mirror=0 ...

  2. 运维监控-Zabbix Server 使用QQ SMTP发送邮件报警及定制报警内容

    运维监控-Zabbix Server 使用QQ SMTP发送邮件报警及定制报警内容 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客采用腾讯邮箱,想必大家都对QQ很了解,所以 ...

  3. CentOS7配置mailx使用外部smtp服务器发送邮件

    转自huskiesir的博客: 发送邮件的两种方式: 1.连接现成的smtp服务器去发送(此方法比较简单,直接利用现有的smtp服务器比如qq.新浪.网易等邮箱,只需要直接配置mail.rc文件即可实 ...

  4. centeros 7配置mailx使用外部smtp服务器发送邮件

    发送邮件的两种方式: 1.连接现成的smtp服务器去发送(此方法比较简单,直接利用现有的smtp服务器比如qq.新浪.网易等邮箱,只需要直接配置mail.rc文件即可实现) 2.自己搭建私有的smtp ...

  5. zabbix 配置发送邮件报警

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

  6. Ubuntu 使用 heirloom-mail 调用外部邮箱 SMTP 服务器发送邮件

    使用本地服务发邮件,经常被过滤掉而且占用资源,发送成功率不高.所以使用外部SMTP服务器发送邮件成为了需求. SMTP认证的目的是为了使用户避免受到垃圾邮件的侵扰,简单地说就是要求必须在提供了账户名和 ...

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

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

  8. Zabbix调用外部脚本发送邮件:python编写脚本

    Zabbix调用外部脚本发送邮件的时候,会在命令行传入两个参数,第一个参数就是要发送给哪个邮箱地址,第二个参数就是邮件信息,为了保证可以传入多个参数,所以假设有多个参数传入 #!/usr/bin/en ...

  9. 通过SSIS监控远程服务器Windows服务并发送邮件报警!

    利用SSIS不仅可以做BI项目的ETL,而且还可以做一些系统监控和维护工作,由于之前供应商写的Windows服务是读取ESB的消息进行处理,且通过OA流程与访客系统进行了集成,无论是ESB出现状况,还 ...

随机推荐

  1. Javascript实现表格行排序

    网站开发中凡是用到表格来展示数据的,往往都要根据某个列来对行排序,下面是我从书上看到的一个行排序例子,看过后受益匪浅,故分享出来. 直接献上完整代码: <!doctype html> &l ...

  2. Java中书写要注意的地方

    Java的命名规则:以字母.下划线(_)或$符号开头,其后跟任意数目的字母.数字.下划线和$符号.  注意: 数字不能作为标识符的开头: 除了下划线与$符号以外,其余的符号不能使用: 不能使用关键字作 ...

  3. oracle学习笔记(一)用户管理

    --oracle学习第一天 --连接 @后面连接数据库实例,具体连接到那个数据库 conn scott/tiger@MYORA1; --修改密码 passw; --显示用户 show user; -- ...

  4. mac删除顽固图标

    cd  /Users/shelley/Library/Application\ Support/Dock cp  10CCA448-0975-41DE-B47A-8E89FD634227.db  10 ...

  5. deb包处理

    1.卸载 dqpg -l 查看信息 dqpg -r  ******  卸载 2.安装 dqpg -i ...............deb

  6. php性能效率优化

    [size=5][color=Red]php性能效率优化[/color][/size] 最近在公司一边自学一边写PHP程序,由于公司对程序的运行效率要求很高,而自己又是个新手,一开始就注意程序的效率很 ...

  7. 求实现sql?

    id name pid1 曾祖父 02 祖父 13 父亲 24 儿子 35 孙子 4备注:用一条数据库语句来解决查询结果:name1 name2 name3曾祖父 祖父 父亲曾祖父 父亲 儿子曾祖父 ...

  8. Monkey and Banana(HDU 1069 动态规划)

    Monkey and Banana Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  9. $(function(){})与(function($){....})(jQuery)的区别

    $(function(){}); 全写为 $(docunemt).ready(function(){ }); 意义为在DOM加载完毕后执行ready()方法 (function($){....})(j ...

  10. [POJ] 3368 / [UVA] 11235 - Frequent values [ST算法]

    2007/2008 ACM International Collegiate Programming Contest University of Ulm Local Contest Problem F ...