zabbix 配置外部邮件服务器发送邮件报警

来源:互联网 发布:刺客信条钩刃淘宝 编辑:程序博客网 时间:2024/05/19 19:34

一、安装配置msmtp

1.下载msmtp

wget http://downloads.sourceforge.net/msmtp/msmtp-1.4.30.tar.bz2?big_mirror=0

2.解压

tar -jxvf msmtp-1.4.30.tar.bz2

3. 进入msmtp目录

 cd msmtp-1.4.30

4. 编译安装

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

make && make install

5. 配置msmtp账号

切换到,cd /usr/local/msmtp

新建文件夹etc,mkdir etc

使用vi新建文件,输入:vi /usr/local/msmtp/etc/msmtprc ,编辑内容如下:

# Set default values for all following accounts.

defaults

logfile /var/log/msmtp.log

# The SMTP server of the provider.

account service

# SMTP邮件服务器地址

host smtp.qq.com

#端口

port 25

# 发送的邮件Email

from xxx@xxx.com

auth login

# 邮件服务器登录账号

user xxx@xxx.com

# 邮件服务器登陆密码

password 123456

# Set a default account

account default : service

保存退出。

由于password是明码,所以我们需要修改此文件的权限 chmod 600 etc/msmtprc

 

6  测试

/usr/local/msmtp/bin/msmtp youremail@test.com

输入任意字符,然后按Ctrl+D退出,查看邮件是否收到。

由于设置了日志,可以到  /var/log/msmtp.log ,查看日志,发信成功失败都会有记录。

 

二、安装配置mutt

 

1、安装mutt

     yum install mutt -y

2、编辑mutt配置文件

vi /etc/Muttrc ,编辑mutt的总设置,修改以下几行

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

set from="noreply@XXX.net"

set use_from=yes

set realname=noreply@XXX.net

 set editor="vi"

发件地址最好与msmtp设置的账号相同,否则可能会出错。下面以#开头的操作可以不做.

# vi ~/.muttrc , 编辑根目录下的设置

# set envelope_from=yes

# set from="发送邮件地址"

# set realname="发件人"

# set use_from=yes

3、测试一下mutt是否有效

echo "测试测试" | mutt -s "测试" 测试邮件地址

echo "test" |mutt -s "my_first_test" XX@XXX.com


zabbix发送邮件脚本路径

/maichuang/zabbix/share/zabbix/alertscripts

 

#vi /usr/bin/sendalarmemail

vi /maichuang/zabbix/share/zabbix/alertscripts/sendalarmemail

添加

#!/bin/bash

echo "$3" | mutt -s "$2" $1

修改权限

chmod a+x /maichuang/zabbix/share/zabbix/alertscripts/sendalarmemail

 

三、配置zabbix使用外部邮件服务器发送报警邮件

 

1.进入Administration->Media types

 


2.新建Media type

 


配置如下,Script name 要与之前写的发邮件的脚本名字相同

 

3. 进入Configure->Actions

 

新建Action 

 

可以修改默认的邮件内容,以下是我修改之后的邮件内容格式:

 

添加step,别忘了点Add按钮,点上面的Add,再点下面的Add免得添加出错,注意要选择发送邮件给哪一个用户;并选择刚才定义好的Media type名字。

Default operation step duration 表示这次发送邮件后,下一次发邮件是在多少秒之后。


 


以上我总共添加了三次发送邮件的Action,如果触发器出发了,一直没有人确认触发器,则会发三次邮件,添加完后结果如下图:

 

 

4.进入Administration->Users

 



下图为修改admin的登录密码:


 

点击Media再添加



Type选择Send alarm email(之前创建的Action),并填写接收的邮箱,

 

至此用脚本实现用外部邮件服务器发送报警邮件的配置至此结束。

0 0