创建nagios邮件报警

方法一:利用sendmail 实现

成都创新互联专注于企业成都全网营销推广、网站重做改版、沈丘网站定制设计、自适应品牌网站建设、H5建站电子商务商城网站建设、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为沈丘等各大城市提供网站开发制作服务。

首先安装软件 yum install -y sendmail* mailx

然后启动sendmail服务:
# service sendmail restart
然后发送测试邮件,验证sendmail的可用性:
# echo "Hello World" | mailabc@163.com

安装完成

nagios设置

默认nagios是支持调用sendmail发送邮件的所以这里只需要编辑/usr/local/nagios/etc/object下的contact.cfg文件,在email后添加管理员的邮箱即可。

define contact{
       contact_name                        zhang1
       use                                        generic-contact
       alias                                       zhang1
       service_notification_period     24x7
       host_notification_period         24x7
       service_notification_options    w,u,c,r,f,s
       host_notification_options        d,u,r,f,s
       service_notification_commands   notify-service-by-email                            
       host_notification_commands        notify-host-by-email
      email                                        zhang1@text.com  ## 只需要修改这里即可

       }


##第一个方法虽然配置简单,但是发送邮件到QQ邮箱或者139邮箱时 接受邮件的时间很长,发送到163邮箱就不会出现这个问题,这样对于使用QQ邮箱或者139邮箱的朋友 会延长发现故障的时间,所以可以采用第二种方法

方法二:利用msmtp 实现

首先安装软件  wegt http://jaist.dl.sourceforge.net/project/msmtp/msmtp/1.4.32/msmtp-1.4.32.tar.bz2

tar jxvf msmtp-1.4.32.tar.bz2

cd msmtp-1.4.32

./configure –prefix=/usr/local/msmtp
make
make install

安装完毕

配置msmtp账号

cd /usr/local/msmtp
mkdir etc   #手动创建目录
vi /usr/local/msmtp/etc/msmtprc   #手动创建文件 并复制一下内容

# Set default values for all following accounts.
defaults
logfile /usr/local/msmtp/msmtp.log
# The SMTP server of the provider.
account test
# SMTP邮件服务器地址
host smtp.126.com    #可以设置其他邮箱 如163
# 发送的邮件Email
from 11111@126.com  #这里输入邮箱地址
auth login
# 邮件服务器登录账号
user 11111@126.com  #与上面的地址相同
# 邮件服务器登陆密码
password 123456    #密码 明文的
# Set a default account

account default : test

到此安装完成 想发送邮件需要安装 mutt来调用 msmtp

安装配置mutt

yum install mutt

编辑mutt配置文件
vi /etc/Muttrc ,编辑mutt的总设置,修改以下几行

?
1
2
3
4
5
setfrom="11111@126.com"
setsendmail="/usr/local/msmtp/bin/msmtp"
setuse_from=yes
setrealname="发件人" #这里设置的是发送的发件人名称 会在收到的邮件显示 可自定义
seteditor="vi"

###发件地址必须与msmtp设置的账号相同,否则可能会出错。

3、测试一下mutt是否有效

命令语法 : echo “邮件内容” | mutt -s “邮件主题” 测试邮件地址
例: echo “test” |mutt -s “test” abcd@gmail.com

下面就可以使用mutt进行邮件收发了

nagios设置  ##修改红色处

nagios---  command.cfg

define command{

       command_name    notify-by-sms

       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$

       }

##这种方法虽然配置起来稍微负载 但是在发送邮件的速度上 是比sendmail要快的 ,目前网易的邮箱已经不支持 收到邮件短信提醒的功能了 但是139邮箱支持,所以我推荐使用第二种方法!!

介此 两种方法介绍完毕


标题名称:创建nagios邮件报警
网站链接:http://myzitong.com/article/gcdihg.html