2015-06-11

Nagios告警信設定方式



    以下介紹Nagios在監控環境主機發生問題的時候,發送告警Email的設定方式。

  • 安裝環境:CentOS 6.4 64bits
  • Nagios版本:nagios-4.1.0rc1
  • Nagios Plugin:nagios-plugins-2.0.3
  • Linux Clent:ncpa-1.8.1-1.el6.x86_64
  • Windows Client:NSCP-0.4.3.143-x64
    根據網路上很多資訊指出,nagios安裝在Linux上只要另外安裝mailx再透過postfix的方式就可以發送,但小弟怎麼試都不成功的情況,只好直接從nagios的notification definition下手,該檔路徑在 /usr/local/nagios/etc/objects/commands.cfg,當然這是小弟的個人路徑,請視客倌您的安裝路徑自行修正。
    

# 'notify-host-by-email' command definition
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" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
        }


  • 搭配使用的寄信perl檔:sendEmail-v1.56

    重點在於把上面紅字部分換成自己的perl檔,小弟用的上面寫的那套sendEmail,怎麼用請自己看README。

# 'notify-host-by-email' command definition
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/local/bin/sendEmail -f "sender@yourdomain" -t "$CONTACTEMAIL$" -s "relaymailserver_ip:port" -u "Mail Title" -m "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **"
        }

   修改完畢,記得重啟nagios service;另,通知信預設五分鐘通知一次,目前還不知道怎麼去修改通知週期,有找到再更新此文。

沒有留言:

張貼留言