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这个用户有执行权限就可以了
[[email protected] 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 因为里面有邮箱的登陆密码所以别人是不让读的.
[[email protected] 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就可以了.