使用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实现邮件报警相关推荐

  1. zabbix利用mutt和msmtp配置邮件报警

    Mutt安装 yum –y install mutt msmtp安装 yum –y install openssl openssl-devel libntlm libntlm-devel cyrus- ...

  2. python3 网站状态监控_基于python3监控服务器状态进行邮件报警

    在正式的生产环境中,我们常常会需要监控服务器的状态,以保证公司整个业务的正常运转,常常我们会用到像nagios.zabbix这类工具进行实时监控,那么用python我们怎么进行监控呢?这里我们利用了p ...

  3. linux下搭建nagios监控

    一.什么是nagios 1.nagios 简介 Nagios是一个监视系统运行状态和网络信息的监视系统.Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等.Nagios可运行在L ...

  4. Nagios+mutt+msmtp 无法发送邮件的问题!

    最近用CentOS 6.3 x86_64 + Mutt 1.5.2. + Msmtp 1.4.27 + Nagios 3.2 搭建监控平台,碰见一个郁闷的问题,就是Mutt+Msmtp 在comman ...

  5. linux mutt 发邮件失败,Nagios+mutt+msmtp 无法发送邮件的问题!

    最近用CentOS 6.3 x86_64 + Mutt 1.5.2. + Msmtp 1.4.27 + Nagios 3.2 搭建监控平台,碰见一个郁闷的问题,就是Mutt+Msmtp 在comman ...

  6. 企业级监控软件Zabbix搭建部署之使用mutt+msmtp配置Zabbix邮件报警

    企业级监控软件Zabbix搭建部署之使用mutt+msmtp配置Zabbix邮件报警 [root@Zabbix-Server ~]# wget http://nchc.dl.sourceforge.n ...

  7. Nagios监控笔记上

    Nagios软件介绍及服务端安装部署实战 1. Nagios服务端安装 1.1 准备3台服务器或者虚拟机器 管理IP地址 角色 备注 192.168.1.80 Nagios监控服务器 192.168. ...

  8. Nagios 监控实例部署

    Nagios是一款企业级开源软件,专注于监控服务器上服务是否正常,不生成图形,提供报警机制,邮件或者短信发送监控状态,它通过各种插件实现不同的功能. Nagios 监控平台主程序 Nagios-plu ...

  9. nagios监控+pnp4出图

    Nagios监控系统 By:大官人 一.nagios简介 Nagios是一个监视系统运行状态和网络信息的监视系统.Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等.Nagios ...

最新文章

  1. 通过改进团队流程最大限度发挥Scrum的优势
  2. Java程序员从笨鸟到菜鸟之(九十一)跟我学jquery(七)jquery动画大体验
  3. 从零开始数据科学与机器学习算法-知识点补充-00
  4. Spark RDD/Core 编程 API入门系列 之rdd实战(rdd基本操作实战及transformation和action流程图)(源码)(三)...
  5. 别跟我谈EF抵抗并发,敢问你到底会不会用EntityFramework
  6. (转载)Stackoverflow让我们变懒了?
  7. Confluence 6 Oracle 创建数据库用户
  8. 使用MEMCACHED的思考
  9. 计算机软件性能测试的过程,软件性能测试过程研究与应用
  10. grid on在matlab功能,matlab中的grid on语句什么意思?如何使用,谢谢。
  11. Python 微博画像分析
  12. 一个USB设备超过其集线器端口的电源限制
  13. 获取电脑软件的路径(C#)
  14. ceisum添加风场插件
  15. 深谈个人对新技术的看法
  16. 那怎样的文档才是好的产品文档呢
  17. Grbl v1.1版本的编译方法
  18. 区块链 - 基础知识 - 第一讲
  19. LXD 2.0系列之二:LXD安装和配置
  20. 计算机网络面试的基本问题

热门文章

  1. OpenCV imgproc分割(segmentation)的实例(附完整代码)
  2. Qt Creator使用3D组件
  3. C语言实现通用堆栈(附完整源码)
  4. c++备忘录模式mememto
  5. 标准 C++ I/O
  6. C++访问权限与继承
  7. proxool配置详解
  8. Mysql 死锁过程及案例详解之显式与隐式锁Explicit Table Lock Implicit Table Lock
  9. 处理字符串_6_拆分字符串里的字符和数
  10. 最长不重复字符串python_Python简单实现查找一个字符串中最长不重复子串的方法...