设为首页 收藏本站
查看: 1109|回复: 0

Nagios监控之利用mutt+msmtp实现邮件报警

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-10-19 08:51:15 | 显示全部楼层 |阅读模式
使用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利用邮件自动报警。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-128471-1-1.html 上篇帖子: Nagios 服务端简单安装 下篇帖子: Nagios监控之利用sendmail使用第三方SMTP服务发送邮件报警 监控
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表