Solved

How to set email notification in Nagios?

Posted on 2010-11-25
6
971 Views
Last Modified: 2012-06-27
I have setup Nagios on Centos 5. Added all my Linux Server and windows Server. Everything seems to be fine except Email Notification.

Please suggest me how to set Email Notification?

Already i have a Mail Server running on another system that is based on RHEL 5.
0
Comment
Question by:aloknet21
6 Comments
 
LVL 18

Expert Comment

by:Sanga Collins
ID: 34212588
In yours commands.cfg what is your send notification command ?
0
 
LVL 1

Expert Comment

by:fracassa79
ID: 34213123
I have installed ssmtp: it's a simple tool to configure your smtp account and so be able to send mail from linux command line with /usr/bin/mail command

http://www.linux.com/archive/feature/132006

my config:
cat /etc/ssmtp/ssmtp.conf
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster

# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com

mailhub=<smtpserver-ip-address>:25
AuthUser=<mailaccount>
AuthPass=<mailaccountpassword>
STARTSSL=YES

rewriteDomain=<yourdomain>

# The full hostname
hostname=<hostnameofnagiosserver>

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address


Then configure mail command in command.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\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mail -s "NAGIOS $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
#      }

# 'notify-service-by-email' command definition
#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\nAdditional Info:\n$SERVICEOUTPUT$\n\nLong Additional Info:\n$LONGSERVICEOUTPUT$\n\nDate/Time: $LONGDATETIME$\n\nDate/Time: $LONGDATETIME$" | /usr/bin/mail -s "NAGIOS $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
#      }



0
 
LVL 14

Accepted Solution

by:
Deepak Kosaraju earned 500 total points
ID: 34213430
Make sure you have postfix setup on your server and let it relay the email to your email server on other redhat server.
Then if you follow the documented procedure of setting email you are good to go.

If you want to receive email notifications for Nagios alerts, you need to install the mailx (Postfix) package.


sudo yum install mailx

sudo yum install postfix

You'll have to edit the Nagios email notification commands found in /etc/nagios/commands.cfg and change any '/bin/mail' references to '/usr/bin/mail'. Once you do that you'll need to restart Nagios to make the configuration changes live.
Make sure you have these correct inside 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" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
}

# 'notify-service-by-email' command definition
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$" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
}

sudo /etc/init.d/nagios restart
0
Network it in WD Red

There's an industry-leading WD Red drive for every compatible NAS system to help fulfill your data storage needs. With drives up to 8TB, WD Red offers a wide array of solutions for customers looking to build the biggest, best-performing NAS storage solution.  

 
LVL 18

Expert Comment

by:Sanga Collins
ID: 34214138
kosarajudeepak comment is exactly how i did it as well. quite simple :)
0
 
LVL 1

Author Comment

by:aloknet21
ID: 34221544
thanks kosarajudeepak. it is working now.

Now i need to monitor My Firewall and Switches also. please suggest the steps for this.
0
 
LVL 2

Expert Comment

by:koffu
ID: 34238359
in /etc/nagios3/commands.cfg
be sure you have defined
define command{
        command_name    notify-host-by-email
......
}

define command{
        command_name    notify-service-by-email
.....
}

Open in new window

in /etc/nagios3/conf.d/contacts.cfg
define contactgroup{
        contactgroup_name       admins
        alias                   Nagios Administrators
        members                 it
            }

define contact{
    contact_name                    it
    alias                           it
    service_notification_period     24x7
    host_notification_period        hostmonitoringhours
    host_notification_options       d
    service_notification_options    n
    service_notification_commands   notify-service-by-email
    host_notification_commands      notify-host-by-email
    email                           user@domain
host_notifications_enabled              1
service_notifications_enabled           1
}

Open in new window

in /etc/nagios3/conf.d/generic-host_nagios2.cfg
define host{
        name                            generic-host    ; The name of this host template
        notifications_enabled           0       ; Host notifications are enabled

Open in new window


in /etc/nagios3/conf.d/generic-host_nagios2.cfg
define service{
        name                            generic-service ; The 'name' of this service template
        notifications_enabled           1       ; Service notifications are enabled

Open in new window





I'm using postfix with relayhost=[xxx.xxx.xxx.xxx] option, pointed directly to my server. This solution have outgoing queue, so you not loose your notification if connection hang or you can setup mail routing for multiple destiantions.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I. Introduction There's an interesting discussion going on now in an Experts Exchange Group — Attachments with no extension (http://www.experts-exchange.com/discussions/210281/Attachments-with-no-extension.html). This reminded me of questions tha…
It’s 2016. Password authentication should be dead — or at least close to dying. But, unfortunately, it has not traversed Quagga stage yet. Using password authentication is like laundering hotel guest linens with a washboard — it’s Passé.
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

25 Experts available now in Live!

Get 1:1 Help Now