Page 1 of 3

Configuring email and SMS notifications.

Posted: Fri Jan 31, 2020 12:38 pm
by dheerushops
We are using Nagios Core Version 4.4.5.
How I should configure to get alerts through mail and SMS.

Re: Configuring email and SMS notifications.

Posted: Fri Jan 31, 2020 12:42 pm
by dheerushops
[root@nagiosserver ~]# cd /usr/local/nagios/etc/objects
[root@nagiosserver objects]#
[root@nagiosserver objects]# pwd
/usr/local/nagios/etc/objects
[root@nagiosserver objects]#
[root@nagiosserver objects]# ls
1 commands.cfg contacts.cfg localhost.cfg printer.cfg switch.cfg templates.cfg timeperiods.cfg windows.cfg
[root@nagiosserver objects]#
[root@nagiosserver objects]#
[root@nagiosserver objects]# cat contacts.cfg
###############################################################################
# CONTACTS.CFG - SAMPLE CONTACT/CONTACTGROUP DEFINITIONS
#
#
# NOTES: This config file provides you with some example contact and contact
# group definitions that you can reference in host and service
# definitions.
#
# You don't need to keep these definitions in a separate file from your
# other object definitions. This has been done just to make things
# easier to understand.
#
###############################################################################



###############################################################################
#
# CONTACTS
#
###############################################################################

# Just one contact defined by default - the Nagios admin (that's you)
# This contact definition inherits a lot of default values from the
# 'generic-contact' template which is defined elsewhere.

define contact {

contact_name nagiosadmin ; Short name of user
use generic-contact ; Inherit default values from generic-contact template (defined above)
alias Nagios Admin ; Full name of user
email xxxxx@gmail.com ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
pager 91-xxxxxxxxxx
service_notification_period 24x7
service_notification_options w,u,c,r,f,s
service_notification_commands notify-service-by-email
host_notification_period 24x7
host_notification_options d,u,r
host_notification_commands notify-host-by-sms,host-notify-by-email
}



###############################################################################
#
# CONTACT GROUPS
#
###############################################################################

# We only have one contact in this simple configuration file, so there is
# no need to create more than one contact group.

define contactgroup {

contactgroup_name admins
alias Nagios Administrators
members nagiosadmin
}
[root@nagiosserver objects]#

Re: Configuring email and SMS notifications.

Posted: Fri Jan 31, 2020 4:59 pm
by benjaminsmith
Hi!

Usually, the SMS messages are accomplished using an Email-To-Text-Address to send the notification. However, let's start with the email first. Is that working correctly?

You can send a custom notification via the web interface to test, check your spam folder if you don't receive it.
send-custom-core.png

Re: Configuring email and SMS notifications.

Posted: Mon Feb 03, 2020 8:57 am
by dheerushops
No alert received to my email. Is there any option, to get automatic alerts for warning and critical status.

Re: Configuring email and SMS notifications.

Posted: Tue Feb 04, 2020 8:59 am
by dheerushops
And after restarting nagios, getting below errors.
Error: Host notification command 'host-notify-by-email' specified for contact 'nagiosadmin' is not defined anywhere!
Error: Host notification command 'notify-host-by-sms' specified for contact 'nagiosadmin' is not defined anywhere!

Re: Configuring email and SMS notifications.

Posted: Tue Feb 04, 2020 7:05 pm
by Box293
Can you please post your updated configs showing the command definition for 'host-notify-by-email' and 'notify-host-by-sms'. If these don't exist then they will need to be created.

Re: Configuring email and SMS notifications.

Posted: Wed Feb 05, 2020 8:49 am
by dheerushops
[root@nagiosserver objects]# pwd
/usr/local/nagios/etc/objects
[root@nagiosserver objects]# ls
1 commands.cfg contacts.cfg localhost.cfg printer.cfg switch.cfg templates.cfg timeperiods.cfg windows.cfg
[root@nagiosserver objects]# cat contacts.cfg
###############################################################################
# CONTACTS.CFG - SAMPLE CONTACT/CONTACTGROUP DEFINITIONS
#
#
# NOTES: This config file provides you with some example contact and contact
# group definitions that you can reference in host and service
# definitions.
#
# You don't need to keep these definitions in a separate file from your
# other object definitions. This has been done just to make things
# easier to understand.
#
###############################################################################



###############################################################################
#
# CONTACTS
#
###############################################################################

# Just one contact defined by default - the Nagios admin (that's you)
# This contact definition inherits a lot of default values from the
# 'generic-contact' template which is defined elsewhere.

define contact {

contact_name nagiosadmin ; Short name of user
use generic-contact ; Inherit default values from generic-contact template (defined above)
alias Nagios Admin ; Full name of user
email d**@gmail.com ; CHANGE THIS TO YOUR EMAIL ADDRESS ******

service_notification_period 24x7
service_notification_options w,u,c,r,f,s
service_notification_commands notify-service-by-email
host_notification_period 24x7
host_notification_options d,u,r
host_notification_commands notify-host-by-email
}



###############################################################################
#
# CONTACT GROUPS
#
###############################################################################

# We only have one contact in this simple configuration file, so there is
# no need to create more than one contact group.

define contactgroup {

contactgroup_name admins
alias Nagios Administrators
members nagiosadmin
}
[root@nagiosserver objects]#

Re: Configuring email and SMS notifications.

Posted: Wed Feb 05, 2020 5:27 pm
by Box293
You haven't shown the command definitions themselves, they start with:

Code: Select all

define command {

Re: Configuring email and SMS notifications.

Posted: Thu Feb 06, 2020 9:43 am
by dheerushops
Hi,

Please check below commands.cfg file.



[root@nagiosserver objects]# ls
1 commands.cfg contacts.cfg localhost.cfg printer.cfg switch.cfg templates.cfg timeperiods.cfg windows.cfg
[root@nagiosserver objects]# cat commands.cfg
###############################################################################
# COMMANDS.CFG - SAMPLE COMMAND DEFINITIONS FOR NAGIOS 4.4.5
#
#
# NOTES: This config file provides you with some example command definitions
# that you can reference in host, service, and contact definitions.
#
# You don't need to keep commands in a separate file from your other
# object definitions. This has been done just to make things easier to
# understand.
#
###############################################################################



################################################################################
#
# SAMPLE NOTIFICATION COMMANDS
#
# These are some example notification commands. They may or may not work on
# your system without modification. As an example, some systems will require
# you to use "/usr/bin/mailx" instead of "/usr/bin/mail" in the commands below.
#
################################################################################

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$
}



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" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
}



################################################################################
#
# SAMPLE HOST CHECK COMMANDS
#
################################################################################

# This command checks to see if a host is "alive" by pinging it
# The check must result in a 100% packet loss or 5 second (5000ms) round trip
# average time to produce a critical error.
# Note: Five ICMP echo packets are sent (determined by the '-p 5' argument)

define command {

command_name check-host-alive
command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5
}



################################################################################
#
# SAMPLE SERVICE CHECK COMMANDS
#
# These are some example service check commands. They may or may not work on
# your system, as they must be modified for your plugins. See the HTML
# documentation on the plugins for examples of how to configure command definitions.
#
# NOTE: The following 'check_local_...' functions are designed to monitor
# various metrics on the host that Nagios is running on (i.e. this one).
################################################################################

define command {

command_name check_local_disk
command_line $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
}



define command {

command_name check_local_load
command_line $USER1$/check_load -w $ARG1$ -c $ARG2$
}



define command {

command_name check_local_procs
command_line $USER1$/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
}



define command {

command_name check_local_users
command_line $USER1$/check_users -w $ARG1$ -c $ARG2$
}



define command {

command_name check_local_swap
command_line $USER1$/check_swap -w $ARG1$ -c $ARG2$
}



define command {

command_name check_local_mrtgtraf
command_line $USER1$/check_mrtgtraf -F $ARG1$ -a $ARG2$ -w $ARG3$ -c $ARG4$ -e $ARG5$
}



################################################################################
# NOTE: The following 'check_...' commands are used to monitor services on
# both local and remote hosts.
################################################################################

define command {

command_name check_ftp
command_line $USER1$/check_ftp -H $HOSTADDRESS$ $ARG1$
}



define command {

command_name check_hpjd
command_line $USER1$/check_hpjd -H $HOSTADDRESS$ $ARG1$
}



define command {

command_name check_snmp
command_line $USER1$/check_snmp -H $HOSTADDRESS$ $ARG1$
}



define command {

command_name check_http
command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
}



define command {

command_name check_ssh
command_line $USER1$/check_ssh $ARG1$ $HOSTADDRESS$
}



define command {

command_name check_dhcp
command_line $USER1$/check_dhcp $ARG1$
}



define command {

command_name check_ping
command_line $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5
}



define command {

command_name check_pop
command_line $USER1$/check_pop -H $HOSTADDRESS$ $ARG1$
}



define command {

command_name check_imap
command_line $USER1$/check_imap -H $HOSTADDRESS$ $ARG1$
}



define command {

command_name check_smtp
command_line $USER1$/check_smtp -H $HOSTADDRESS$ $ARG1$
}



define command {

command_name check_tcp
command_line $USER1$/check_tcp -H $HOSTADDRESS$ -p $ARG1$ $ARG2$
}



define command {

command_name check_udp
command_line $USER1$/check_udp -H $HOSTADDRESS$ -p $ARG1$ $ARG2$
}



define command {

command_name check_nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$
}



################################################################################
#
# SAMPLE PERFORMANCE DATA COMMANDS
#
# These are sample performance data commands that can be used to send performance
# data output to two text files (one for hosts, another for services). If you
# plan on simply writing performance data out to a file, consider using the
# host_perfdata_file and service_perfdata_file options in the main config file.
#
################################################################################

define command {

command_name process-host-perfdata
command_line /usr/bin/printf "%b" "$LASTHOSTCHECK$\t$HOSTNAME$\t$HOSTSTATE$\t$HOSTATTEMPT$\t$HOSTSTATETYPE$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$\n" >> /usr/local/nagios/var/host-perfdata.out
}



define command {

command_name process-service-perfdata
command_line /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /usr/local/nagios/var/service-perfdata.out
}



###############################################################################
# NRPE CHECK COMMAND
#
# Command to use NRPE to check remote host systems
###############################################################################

define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
[root@nagiosserver objects]#

Re: Configuring email and SMS notifications.

Posted: Thu Feb 06, 2020 8:22 pm
by Box293
Where did you come up with the notify-host-by-sms and host-notify-by-email commands? Did you invent them out of thin air or are you copying them from another example? I ask this because you don't have them defined at all and this is your problem.