225025 发表于 2019-1-14 07:37:02

创建nagios邮件报警

  方法一:利用sendmail 实现
  首先安装软件 yum install -y sendmail* mailx
  然后启动sendmail服务:
# service sendmail restart
然后发送测试邮件,验证sendmail的可用性:
# echo "Hello World" | mail abc@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邮箱支持,所以我推荐使用第二种方法!!
  介此 两种方法介绍完毕





页: [1]
查看完整版本: 创建nagios邮件报警