Nagios监控之8:利用mutt+msmtp实现邮件报警
使用mutt+msmtp搭建一個郵件客戶端,實現利用第三方郵件服務發送郵件。
此功能是在nagios服務正常安裝運行的基礎上實現的;因此要先安裝好基本的nagios運行環境,這個可以參考本人相關的博文。
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郵件服務器地址
host smtp.qq.com
#發送的郵件Email
from zhangsan@qq.com
auth login
#端口
#port 25
tls off
# 郵件服務器登錄賬號
user zhangsan@qq.com
# 郵件箱密碼
password 123456
#默認用戶名
account default:xiaobaichi
由于password是明碼,所以最好需要修改此文件的權限 chmod 600 etc/msmtprc
3.配置mutt信息
#vim /etc/Muttc
最后插入,注意上引號是有的
set from="發送郵件地址"
set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set realname="發件人"
set editor="vim"
注意:上面配置中的雙引號是需要的,并且發件地址與msmtp設置的賬號要相同,否則可能會出錯。
4.修改文件權限以供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 "郵件內容" | mutt -s "郵件標題" 目標郵件地址
echo "This is a test mail" |mutt -s "hello" lisi@163.com
6.配置nagios郵件發送命令
修改nagios命令配置文件
#vim nagios/etc/object/command.cfg
#notify-host-by-email命令的定義?
define command{
? ? ? ??#命令名稱,即定義了一個主機異常時發送郵件的命令。
? ? ? ? command_name ? ?notify-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$
? ? ? ? }
#notify-service-by-email命令的定義?
define command{
? ? ? ? #命令名稱,即定義了一個服務異常時發送郵件的命令
? ? ? ? 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中定義的主機和服務的報警機制,實現nagios利用郵件自動報警。
鳴謝:本人參考了多篇文章后總結而得,在此感謝各位網絡分享者!
轉載于:https://blog.51cto.com/4709096/1703976
總結
以上是生活随笔為你收集整理的Nagios监控之8:利用mutt+msmtp实现邮件报警的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Android Pro] Andro
- 下一篇: (NO.00001)iOS游戏Speed