企业级监控软件Zabbix搭建部署之使用mutt+msmtp配置Zabbix邮件报警
企业级监控软件Zabbix搭建部署之使用mutt+msmtp配置Zabbix邮件报警# wget http://nchc.dl.sourceforge.net/sourceforge/msmtp/msmtp-1.4.17.tar.bz2
# tar xf msmtp-1.4.17.tar.bz2
# cd msmtp-1.4.17
# mkdir /usr/local/msmtp
# yum -y install gnutls-devel gnutls
# ./configure --prefix=/usr/local/msmtp
# make
# make install
# cd /usr/local/msmtp/
# ls
binshare
# mkdir etc 创建目录
# cd etc/
# ls
# vim msmtprc创建配置文件
配置文件如下:
account default
host smtp.ym.163.com #发送邮件服务器
port 25 #发送端口
from noreply@youlongteng.com #发送的邮箱
auth login
tls off #这里如果使用on的话会报 "msmtp: cannot use a secure authentication method"错误
user noreply@youlongteng.com #邮箱用户
password 123.com. #邮箱的密码,明文保存的需要注意,可以设置权限
logfile /var/log/mmlog #日志的路径
# ll /usr/local/msmtp/etc/msmtprc
-rwxr-xr-x 1 zabbix root 195 Oct 11 23:52 /usr/local/msmtp/etc/msmtprc
#
保存
测试
# /usr/local/msmtp/bin/msmtp xxoo@xxxx.com
This is my mail
www.rsyslog.net
#
ctrl+d写完就可以退出,然后服务器查看是否收到
# cat mmlog
Dec 31 10:10:12 host=smtp.ym.163.com tls=off auth=on user=xxoo@xxxx.com from=xxoo@xxxx.com recipients=xxoo@xxxx.com mailsize=406 smtpstatus=250 smtpmsg='250 2.0.0 Ok: queued as EDBC41101988' exitcode=EX_OK
Dec 31 10:10:12 host=smtp.ym.163.com tls=off auth=on user=xxoo@xxxx.com from=xxoo@xxxx.com recipients=xxoo@xxxx.com mailsize=397 smtpstatus=250 smtpmsg='250 2.0.0 Ok: queued as 1E8911101684' exitcode=EX_OK
Dec 31 10:10:12 host=smtp.ym.163.com tls=off auth=on user=xxoo@xxxx.com from=xxoo@xxxx.com recipients=sxxoo@xxxx.com mailsize=396 smtpstatus=250 smtpmsg='250 2.0.0 Ok: queued as 7801E11011F0' exitcode=EX_OK
#
安装mutt
# yum -y install mutt
修改配置文件
vim /etc/Muttrc.local
# Local configuration for Mutt.
set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set realname="xxoo@xxxx.com" 你的发送邮箱地址
set editor="vim"
# ll /etc/Muttrc.local
-rw-r--r-- 1 root root 151 Oct 10 18:28 /etc/Muttrc.local
#
测试安装是否成功
错误提示:如下图是提示添加附件错误。。。。。。
# echo "testmail" | mutt -s "test" -a /tmp/file xxoo@xxxx.com
Can't stat zhangkeyuan@youlongteng.com: No such file or directory
zhangkeyuan@youlongteng.com: unable to attach file.
正确方法如下:
# echo "This is a test mail " >> /tmp/file
需要注意的是,在CentOS6下面,我们需要按照如下的方法去下,添加附件应该放置到最后面,这样才能成功,如果-a放到邮件地址前面会报错
如果有多个邮件地址,就写多个即可
# echo "testmail" | mutt -s "test" xxoo@xxxx.com -a /tmp/file
# echo "testmail" | mutt -s "test" xxoo@xxxx.com431054426@qq.com -a /tmp/file
这样就测试成功查看日志记录
# tail /var/log/mmlog-n 2
Oct 05 16:40:03 host=smtp.ym.163.com tls=off auth=on user=xxoo@xxxx.com from=xxoo@xxxx.com recipients=xxoo@xxxx.com mailsize=598 smtpstatus=250 smtpmsg='250 2.0.0 Ok: queued as AB0F11480DCF' exitcode=EX_OK
Oct 05 16:51:30 host=smtp.ym.163.com tls=off auth=on user=xxoo@xxxx.com from=xxoo@xxxx.com recipients=xxoo@xxxx.com mailsize=734 smtpstatus=250 smtpmsg='250 2.0.0 Ok: queued as 29FC51481F38' exitcode=EX_OK
#
经验之谈技巧
在创建之前首先修改配置文件
首先查找脚本路径
# locate externalscripts
/usr/local/zabbix/share/zabbix/alertscripts
# pwd
/usr/local/zabbix/share/zabbix/alertscripts
#
修改配置文件,默认情况下是支持的。如果不知道可以查找
vim /usr/local/zabbix/etc/zabbix_server.conf,去掉392行的注释
创建脚本
# cat zabbix_monitor.sh
# cat baojing.sh如下脚本来自生产环境:
http://devliangel.blog.运维网.com/attachment/201401/9/469347_1389232240jOAQ.png
#
# chmod 755 zabbix_monitor.sh
# chown zabbix root zabbix_monitor.sh
记得用zabbix用户测试是否能发送
AlertScriptsPath=${datadir}/zabbix/alertscripts这个路径如果不知道请查找
/usr/local/share/zabbix/alertscripts/
monitoring----Events-----查看是否正常如果报错会有提示
如果是这样 需要给root修改权限
/root/sent: Permission denied (errno = 13)
/root/sent: Permission denied (errno = 13)
/root/sent: Permission denied (errno = 13)
/root/sent: Permission denied (errno = 13)
解决:
# ll /root/ -d
dr-xr-x---. 6 zabbix root 4096 Oct 11 23:52 /root/
# ll /root/s
sentsoft/
# ll /root/sent
-rwxrwxrwx 1 zabbix root 42959 Oct 11 23:58 /root/sent
#
权限注意
# cat baojing.sh
#!/bin/bash
echo "$3" | mutt -s "$2" $1
# ll baojing.sh -d
-rwxr-xr-x 1 zabbix root 40 Oct 11 23:41 baojing.sh
#
PS:因不方便邮箱设置成xxoo@xxxx.com
页:
[1]