Nagios使用mutt发用报警邮件

一.开始配置

mkdir -p /usr/local/msmtp/etc

vi /root/.msmtprc

host smtp.163.com

tls off

auth plain

from 15614119390@163.com

user 15614119390

password 123456

vi /root/.muttrc

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

set use_from=yes

set from=15614119390@163.com

set envelope_from=yes

vi /usr/local/msmtp/etc/msmtprc

defaults

account 15614119390

host smtp.163.com

from15614119390@163.com

auth login

port 25

tls off

user15614119390@163.com

password 123456

account default: 15614119390

logfile /usr/local/msmtp/log/msmtp.log

echo 'setsendmail="/usr/local/msmtp/bin/msmtp"' >>/etc/Muttrc

echo "set use_from=yes" >>/etc/Muttrc

echo 'set realname="15614119390@163.com"'>>/etc/Muttrc

echo 'set editor="vim"' >>/etc/Muttrc

二. 安装软件包msmtp

https://sourceforge.net/projects/msmtp/

tar xf msmtp-1.6.3.tar.gz

cd msmtp-1.6.3

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

make

make install

ln -s /usr/local/msmtp/bin/msmtp /usr/bin

三.安装软件包Mutt

http://www.linuxfromscratch.org/blfs/view/7.8/basicnet/mutt.html

wget ftp://ftp.mutt.org/pub/mutt/mutt-1.5.24.tar.gz

tar xf mutt-1.5.24.tar.gz

cd mutt-1.5.24

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

make

make install

ln -s/usr/local/mutt/bin/mutt /usr/bin

四.发送测试邮件

echo "test" | mutt-s "test"1075841124@qq.com

五.配置Nagios

vi command.cfg

define command{

command_namenotify-host-by-email

command_line /usr/bin/printf"%b" "***** Nagios *****\n\nNotification Type:$NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo:$HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mutt -s "**$NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **"$CONTACTEMAIL$

}

define command{

command_namenotify-service-by-email

command_line /usr/bin/printf"%b" "***** Nagios *****\n\nNotification Type:$NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState:$SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n"| /usr/bin/mutt -s "** $NOTIFICATIONTYPE$ Service Alert:$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$

}

六.重启Nagios

servicenagios stop

serivcenagios start