一,用sendmail发送邮件

1、下载安装sendEmail

wgethttp://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz

tarzxvfsendEmail-v1.56.tar.gz

cdsendEmail-v1.56

cpsendEmail/usr/local/bin/

chmod775/usr/local/bin/sendEmail

chownnagios:nagios/usr/local/bin/sendEmail#因为我要让nagios发邮件所以用的是nagios用户

2、测试一下


/usr/local/bin/sendEmail-fskykws@163.com-t872260085@qq.com-ssmtp.163.com-u"邮件标题"-xuskykws-xp000000-m"邮件内容"


3、邮件参数:


-f发送者地址-t接收者地址-sSMTP服务器地址(可以是域名或IP)


-u邮件主题-xuSMTP验证用户名


-xpSMTP验证密码(注意,这个密码有限制,有一些特殊符号或者超长度密码不能被正确识别)


-m邮件具体内容如不带-m参数的话,就会提示你自行输入,输入完成后CTRL-D来结束



Nagios通过sendEmail报警需要修改commands.cfg


#'notify-host-by-email'commanddefinition

definecommand{

command_namenotify-host-by-email

command_line/usr/bin/printf"%b""*****Nagios*****\n\nNotificationType:$NOTIFICATIONTYPE$\nHost:$HOSTNAME$\nState:$HOSTSTATE$\nAddress:$HOSTADDRESS$\nInfo:$HOSTOUTPUT$\n\nDate/Time:$LONGDATETIME$\n"|/usr/local/bin/sendEmail-fskykws@163.com-t$CONTACEMAIL$-sSMTP.163.COM"**$NOTIFICATIONTYPE$HostAlert:$HOSTNAME$is$HOSTSTATE$**"-xuskykws-xp0000000$CONTACTEMAIL$

}


#'notify-service-by-email'commanddefinition

definecommand{

command_namenotify-service-by-email

command_line/usr/bin/printf"%b""*****Nagios*****\n\nNotificationType:$NOTIFICATIONTYPE$\n\nService:$SERVICEDESC$\nHost:$HOSTALIAS$\nAddress:0$HOSTADDRESS$\nState:$SERVICESTATE$\n\nDate/Time:$LONGDATETIME$\n\nAdditionalInfo:\n\n$SERVICEOUTPUT$\n"|/usr/local/bin/sendEmail-fskykws@163.com-t$CONTACEMAIL$-sSMTP.163.COM"**$NOTIFICATIONTYPE$ServiceAlert:$HOSTALIAS$/$SERVICEDESC$is$SERVICESTATE$**"-xuskykws-xp000000$CONTACTEMAIL$

}


[root@localhostobjects]#vicontacts.cfg

emailskykws@163.com修改添加邮件地址

pager15800000000添加这行



(例子:command_line

/usr/local/bin/sendEmail-f发送账户-t$CONTACTEMAIL$-ssmtp服务器地址-u"**$NOTIFICATIONTYPE$主机警报:$HOSTNAME$is$HOSTSTATE$**"-m"主机

警报*\n\n通知类型:$NOTIFICATIONTYPE$\n主机:$HOSTNAME$\n状态:$HOSTSTATE$\nip地址:$HOSTADDRESS$\n信息:$HOSTOUTPUT$\n\n北京时间:$LONGDATETIME$\n-by信息技术部\n"-xu用户-xp密码-omessage-charset=utf-8

然后是服务报警的command_line

/usr/local/bin/sendEmail-f发送账户-t$CONTACTEMAIL$-ssmtp服务器地址-u"**$NOTIFICATIONTYPE$服务警报:$HOSTNAME$is$HOSTSTATE$**"-m"*服>务报警*\n\n警报类型:$NOTIFICATIONTYPE$\n\n服务:$SERVICEDESC$\n主机:$HOSTALIAS$\nip地址:$HOSTADDRESS$\n状态:$SERVICESTATE$\n\n北京时间:$LONGDATETIME$\n\n信息:\n\n$SERVICEOUTPUT$\n-by信息技术部\n"-xu用户-xp密码-omessage-charset=utf-8)


二,用本地mail发送邮件

[root@localhost]#vi/etc/mail.rc


setfrom=skykws@163.comsmtp=smtp.163.comsetsmtp-auth-user=skykwssmtp-auth-password=000000smtp-auth=login


[root@localhost]#cd/bin/


[root@localhost]#mail-s"skykws"skykws@163.com<123.txt


Nagios通过mail报警需要修改commands.cfg

#'notify-host-by-email'commanddefinition

definecommand{

command_namenotify-host-by-email

command_line/usr/bin/printf"%b""*****Nagios*****\n\nNotificationType:$NOTIFICATIONTYPE$\nHost:$HOSTNAME$\nState:$HOSTSTATE$\nAddress:$HOSTADDRESS$\nInfo:$HOSTOUTPUT$\n\nDate/Time:$LONGDATETIME$\n"|/bin/mail-s"**$NOTIFICATIONTYPE$HostAlert:$HOSTNAME$is$HOSTSTATE$**"$CONTACTEMAIL$

}


#'notify-service-by-email'commanddefinition

definecommand{

command_namenotify-service-by-email

command_line/usr/bin/printf"%b""*****Nagios*****\n\nNotificationType:$NOTIFICATIONTYPE$\n\nService:$SERVICEDESC$\nHost:$HOSTALIAS$\nAddress:$HOSTADDRESS$\nState:$SERVICESTATE$\n\nDate/Time:$LONGDATETIME$\n\nAdditionalInfo:\n\n$SERVICEOUTPUT$\n"|/bin/mail-s"**$NOTIFICATIONTYPE$ServiceAlert:$HOSTALIAS$/$SERVICEDESC$is$SERVICESTATE$**"$CONTACTEMAIL$

}

三,fetion

1.安装飞信

[root@localhost~]#unzipfetion.zip

[root@localhost ~]#mv fx fetion

[root@localhost~]#cp-Rfetion /usr/local/

[root@localhost~]#cplibACE-5.7.2.solibcrypto.so.4libssl.so.4libACE_ssl-5.7.2.solibeay32.dll/usr/lib/

[root@localhost~]#chown-Rnagios:nagios/usr/local/fetion/fetion

[root@localhost~]#chmod-R775/usr/local/fetion/fetion

[root@localhost~]#vi/etc/ld.so.conf

添加“/usr/local/fetion/fetion/”

[root@localhost~]#ldconfig

[root@localhost~]#cd/usr/local/fetion/fetion

[root@localhostfx]#./fetion--mobile=15889971794--pwd=000000--to=15889971794--msg-type=1--msg-utf8="测试"

2、修改commands.cfg

#"notify-host-by-fetion"

definecommand{

command_namenotify-host-by-fetion

command_lineLD_LIBRARY_PATH=/usr/local/fetion/usr/local/fetion/fetion--mobile=15889971794--pwd=000000--to=15889971794--msg-utf8="HOST$HOSTSTATE$alertfor$HOSTNAME$!on'$LONGDATETIME$'"$CONTACTPAGER$

}

#"notify-service-by-fetion"

definecommand{

command_namenotify-service-by-fetion

command_lineLD_LIBRARY_PATH=/usr/local/fetion/usr/local/fetion/fetion--mobile=15889971794--pwd=000000--to=15889971794--msg-utf8="$HOSTADDRESS$$HOSTALIAS$/$SERVICEDESC$is$SERVICESTATE$on$LONGDATETIME$"$CONTACTRAGER$

}

3、使用飞信报警命令

[root@localhostobjects]#vitemplates.cfg//对应添加:notify-service-by-fetionnotify-host-by-fetion;

service_notification_commandsnotify-service-by-email,notify-service-by-fetion;

host_notification_commandsnotify-host-by-email,notify-host-by-fetion;

四,nagios的页面声音报警

1.准备音频文件,后缀要求.wav

2.修改配置文件:/usr/local/nagios/etc/cgi.cfg

将原先的注释去掉,修改成如下:

host_unreachable_sound=hostdown.wav
host_down_sound=hostdown.wav
service_critical_sound=critical.wav
service_warning_sound=warning.wav
service_unknown_sound=warning.wav
#normal_sound=noproblem.wav(这是设置正常情况下声音,一般注释)
3.将音频文件上传的文件夹/usr/local/nagios/share/media/