zabbix 使用脚本发送邮件

zabbix使用邮件报警大致分为以下几个步骤:

1:安装 msmtp 

xz -d  msmtp-1.6.2.tar.xz  (1.6.2的版本使用xz和tar压缩的)

tar xvf  msmtp-1.6.2.tar

cd msmtp-1.6.2

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

make && make install

配置参数 

vi /usr/local/msmtp/etc/msmtprc   如果没有文件需要自己创建

account default

host smtp.163.com

port 25

from [email protected]

auth login

tls off

user [email protected]

password 123456789

logfile /var/log/mmlog

2:安装mutt 

yum install mutt

修改配置文件vi /etc/Muttrc

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

set use_from=yes  

set realname="[email protected]"    你的发送邮箱地址 

set editor="vi"

注释;安装mutt工具的原因是直接使用msmtp发送邮件以后,收到的邮件内容为空


3:测试邮件发送与修改msmtp 、mutt 的权限调整(很重要一般收不到邮件可能是这里有问题)

测试脚本

[zabbix@master  src]$ cat /usr/local/zabbix-2.4.5/share/zabbix/alertscripts/send_mail.sh    (脚本的位置需要在zabbix_server.conf文件中配置)

#!/bin/bash

echo "$3" | /usr/bin/mutt -s "$2" $1

测试命令  

cd /usr/local/zabbix-2.4.5/share/zabbix/alertscripts/

./send_mail.sh [email protected]  "邮件主题...."  "邮件内容......."

root 用户执行上面的命令进行发送邮件一般都没有问题。。但是你运行zabbix_server服务的用户一般都不是root. 所以测试成功以后不对一些文件做权限配置qq邮箱一般不能够收到[email protected]发送的邮件.  需要配置权限的文件有如下两个

1: 发送邮件的shell脚本 /usr/local/zabbix-2.4.5/share/zabbix/alertscripts/send_mail.sh  权限如下zabbix这个用户有执行权限就可以了

[zabbix@master src]$ ll /usr/local/zabbix-2.4.5/share/zabbix/alertscripts/send_mail.sh

-rwxr-xr-x 1 zabbix zabbix 49 7月   8 16:22 /usr/local/zabbix-2.4.5/share/zabbix/alertscripts/send_mail.sh

2:  /home/zabbix/.msmtprc  这个隐藏文件是拷贝的/usr/local/msmtp/etc/msmtprc文件, 不通的用户会访问自己家目录下的隐藏.msmtprc文件!!  权限是600  因为里面有邮箱的登陆密码所以别人是不让读的. 

[zabbix@master src]$ ll /home/zabbix/.msmtprc

-rw------- 1 zabbix zabbix 144 7月   8 14:27 /home/zabbix/.msmtprc

如果保证切换成zabbix用户以后也能都执行./send_mail.sh 来发送邮件,并且qq邮箱能够正常接收那就应该是OK了!


4:在zabbix里面进行配置,使用脚本发送然后选择send_mail.sh就可以了.


你可能感兴趣的:(zabbix,使用脚本发送邮件)