macros fail in mail notification

Support forum for Nagios Core, Nagios Plugins, NCPA, NRPE, NSCA, NDOUtils and more. Engage with the community of users including those using the open source solutions.
Locked
rbozdog
Posts: 8
Joined: Thu Jan 17, 2019 2:12 am

macros fail in mail notification

Post by rbozdog »

Hi

I have the following issue when receiving mail notifications n Nagios core 4.4.3.

The mail content:

Code: Select all

***** Nagios *****

Notification Type: CUSTOM

Service: $ 
Host: HOST ALIAS
Address: 0.0.0.0(IS AN EXAMPLE)
State: $

Date/Time: Tue Feb 19 20:48:05 EET 2019

Additional Info:

$
The subject:

Code: Select all

** CUSTOM Service Alert: HOST ALIAS/$ is $ **
As you can see the macros are returning just a $ not the value.

The command line is:

Code: Select all

/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/mailx -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
The command line for the HOST notifications is the same (the default one) and it's working, just for the services is doing this.

Thank you in advance!
User avatar
lmiltchev
Former Nagios Staff
Posts: 13587
Joined: Mon May 23, 2011 12:15 pm

Re: macros fail in mail notification

Post by lmiltchev »

Can you show us the actual service definition?
Be sure to check out our Knowledgebase for helpful articles and solutions!
rbozdog
Posts: 8
Joined: Thu Jan 17, 2019 2:12 am

Re: macros fail in mail notification

Post by rbozdog »

These are my service definitions:

Code: Select all

define service {

    use                     generic-service                     
    hostgroup_name          conn-main
    servicegroups	    main-service
    service_description     PING
    check_command           check_ping!200.0,20%!600.0,60%
    max_check_attempts      5
    check_interval          5
    retry_interval          1
    notifications_enabled   1

}

Code: Select all

define service {

    use                          generic-service
    hostgroup_name               port24
    servicegroups	         switch-service
    service_description          PORT24
    check_command                check_snmp!-C NMM -o ifOperStatus.10024 -r 1 -m RFC1213-MIB
    notifications_enabled        1
    notification_period          24x7
    notification_options         c,r
    notification_interval        960
    max_check_attempts           5
    check_interval               5
    retry_interval               1
    contact_groups      	 admins
    notifications_enabled        1
}

Code: Select all

define service {

    use                          generic-service
    hostgroup_name               ups
    servicegroups	         ups-service
    service_description          Main Battery Status
    check_command                snmp_ups_stat!NMM
    notifications_enabled        1
    notification_period          24x7
    notification_options         c,r
    notification_interval        960
    max_check_attempts           5
    check_interval               5
    retry_interval               1
    contact_groups      	 admins
    notifications_enabled        1
}
User avatar
lmiltchev
Former Nagios Staff
Posts: 13587
Joined: Mon May 23, 2011 12:15 pm

Re: macros fail in mail notification

Post by lmiltchev »

We need some more information. Who is the contact that is having issues with notifications (macros not resolving)? Is he/she a member of the "admins" contact group or is added to the "generic-service" template? We need to see this contact's config. It is possible that the service notification handler (notify-service-by-email) is set as both - host and service notification command. In this case, if you had a host notification, the output would be messed up, and the macros wouldn't resolve (e.g. $SERVICEDESC$ and $SERVICESTATE$ wouldn't exist).

You could also enable debugging in the nagios.cfg file and set the debug_level=2048. Create a condition that is going to bring a "test" service to a hard CRITICAL state. Post the actual email notification that you receive and the /usr/local/nagios/var/nagios.debug file on the forum.
Be sure to check out our Knowledgebase for helpful articles and solutions!
rbozdog
Posts: 8
Joined: Thu Jan 17, 2019 2:12 am

Re: macros fail in mail notification

Post by rbozdog »

All the contacts are having this issue, but this the contacts definition:

Code: Select all

define contact {

    contact_name            	     rbozdog
    use                     	     generic-contact
    alias                            Rares Bozdog
    service_notification_period      24x7
    host_notification_period         24x7
    service_notification_options     c,r
    host_notification_options        d,r
    service_notification_commands    notify-host-by-email
    host_notification_commands       notify-service-by-email
    email                   	     rbozdog@mail.com
}
Also the contact tempate:

Code: Select all

define contact {

    name                            generic-contact         ; The name of this contact template
    service_notification_period     24x7                    ; service notifications can be sent anytime
    host_notification_period        24x7                    ; host notifications can be sent anytime
    service_notification_options    w,u,c,r,f,s             ; send notifications for all service states, flapping events, and scheduled downtime events
    host_notification_options       d,u,r,f,s               ; send notifications for all host states, flapping events, and scheduled downtime events
    service_notification_commands   notify-service-by-email ; send service notifications via email
    host_notification_commands      notify-host-by-email    ; send host notifications via email
    register                        0                       ; DON'T REGISTER THIS DEFINITION - ITS NOT A REAL CONTACT, JUST A TEMPLATE!
}
And the contact groups:

Code: Select all

define contactgroup {

    contactgroup_name       admins
    alias                   Nagios Administrators
    members                 rbozdog
}
For every state is this problem so I sent a costum notification:

Code: Select all

[1550679657.801291] [2048.1] [pid=28645] **** BEGIN MACRO PROCESSING ***********
[1550679657.801298] [2048.1] [pid=28645] Processing: 'HOST NOTIFICATION: rbozdog;HOSTNAME;CUSTOM ($HOSTSTATE$);notify-service-by-email;$HOSTOUTPUT$;$NOTIFICATIONAUTHOR$;$NOTIFICATIONCOMMENT$
'
[1550679657.801312] [2048.1] [pid=28645]   Done.  Final output: 'HOST NOTIFICATION: rbozdog;HOSTNAME;CUSTOM (UP);notify-service-by-email;PING OK - Packet loss = 0%, RTA = 43.18 ms;RBozdog;test
'
[1550679657.801319] [2048.1] [pid=28645] **** END MACRO PROCESSING *************
The e-mail notification:

Code: Select all

***** Nagios *****

Notification Type: CUSTOM

Service: $
Host: ALIAS
Address: 0.0.0.0
State: $

Date/Time: Wed Feb 20 18:38:43 EET 2019

Additional Info:

$
The e-mail subject:

Code: Select all

** CUSTOM Service Alert: ALIAS/$ is $ **
I can see in the debug that is as you said, the service is processed as a host notification, but what is the solution?

Thank you!
User avatar
lmiltchev
Former Nagios Staff
Posts: 13587
Joined: Mon May 23, 2011 12:15 pm

Re: macros fail in mail notification

Post by lmiltchev »

You notifications commands are "switched"...

Change this (in the rbozdog's definition):

Code: Select all

service_notification_commands    notify-host-by-email
host_notification_commands       notify-service-by-email
to this:

Code: Select all

service_notification_commands    notify-service-by-email
host_notification_commands       notify-host-by-email
to see if this is going to fix your issue.

Update: As you said "All the contacts are having this issue, but this...", most probably you have the actual commands "flipped" (switched) as well. Make sure that notify-host-by-email and notify-service-by-email are correctly defined.

Can you show us both notification commands?
Be sure to check out our Knowledgebase for helpful articles and solutions!
rbozdog
Posts: 8
Joined: Thu Jan 17, 2019 2:12 am

Re: macros fail in mail notification

Post by rbozdog »

OMG! Sorry for my mistake... I am so embarrassed.

I was looking for the problem deeper and I didn't saw my stupid mistake.

That was the problem and now is working excellent.

Sorry again for bothering you with my stupid mistake!

Thanks a lot for your support!
User avatar
lmiltchev
Former Nagios Staff
Posts: 13587
Joined: Mon May 23, 2011 12:15 pm

Re: macros fail in mail notification

Post by lmiltchev »

I am glad I could help! :)
Be sure to check out our Knowledgebase for helpful articles and solutions!
Locked