Nagios监控之8:利用mutt+msmtp实现邮件报警
使用mutt+msmtp搭建一個郵件客戶端,實現(xiàn)利用第三方郵件服務(wù)發(fā)送郵件。
此功能是在nagios服務(wù)正常安裝運(yùn)行的基礎(chǔ)上實現(xiàn)的;因此要先安裝好基本的nagios運(yùn)行環(huán)境,這個可以參考本人相關(guān)的博文。
1.編譯安裝
#yum install mutt
#tar jxvf msmtp-1.4.30.tar.bz2
#./msmtp-1.4.30/configure –prefix=/usr/local/msmtp
#make
#make install
2.配置msmtp信息
#mkdir /usr/local/msmtp/etc
#vim /usr/local/msmtp/etc/msmtprc
寫入一下信息:
# Set default values for all following accounts.
defaults
#日志地址
logfile /usr/local/msmtp/msmtp.log?
#郵箱用戶名
account zhangsan
# SMTP郵件服務(wù)器地址
host smtp.qq.com
#發(fā)送的郵件Email
from zhangsan@qq.com
auth login
#端口
#port 25
tls off
# 郵件服務(wù)器登錄賬號
user zhangsan@qq.com
# 郵件箱密碼
password 123456
#默認(rèn)用戶名
account default:xiaobaichi
由于password是明碼,所以最好需要修改此文件的權(quán)限 chmod 600 etc/msmtprc
3.配置mutt信息
#vim /etc/Muttc
最后插入,注意上引號是有的
set from="發(fā)送郵件地址"
set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set realname="發(fā)件人"
set editor="vim"
注意:上面配置中的雙引號是需要的,并且發(fā)件地址與msmtp設(shè)置的賬號要相同,否則可能會出錯。
4.修改文件權(quán)限以供nagios可以使用
#setfacl -m u:nagios:rwx msmtp/bin/msmtp
#setfacl -m u:nagios:rwx msmtp/etc/msmtprc
#setfacl -m u:nagios:rwx msmtp/msmtp.log
5.測試
格式:echo "郵件內(nèi)容" | mutt -s "郵件標(biāo)題" 目標(biāo)郵件地址
echo "This is a test mail" |mutt -s "hello" lisi@163.com
6.配置nagios郵件發(fā)送命令
修改nagios命令配置文件
#vim nagios/etc/object/command.cfg
#notify-host-by-email命令的定義?
define command{
? ? ? ??#命令名稱,即定義了一個主機(jī)異常時發(fā)送郵件的命令。
? ? ? ? command_name ? ?notify-host-by-email
? ? ? ? #命令具體的執(zhí)行方式。
? ? ? ? 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$
? ? ? ? }
#notify-service-by-email命令的定義?
define command{
? ? ? ? #命令名稱,即定義了一個服務(wù)異常時發(fā)送郵件的命令
? ? ? ? command_name ? ?notify-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中定義的主機(jī)和服務(wù)的報警機(jī)制,實現(xiàn)nagios利用郵件自動報警。
鳴謝:本人參考了多篇文章后總結(jié)而得,在此感謝各位網(wǎng)絡(luò)分享者!
轉(zhuǎn)載于:https://blog.51cto.com/4709096/1703976
總結(jié)
以上是生活随笔為你收集整理的Nagios监控之8:利用mutt+msmtp实现邮件报警的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Android Pro] Andro
- 下一篇: (NO.00001)iOS游戏Speed