Nagios notifications definitions

Posted by Colin on Server Fault See other posts from Server Fault or by Colin
Published on 2010-01-14T09:11:46Z Indexed on 2010/04/07 23:03 UTC
Read the original article Hit count: 465

Filed under:
|
|

I am trying to monitor a web server in such a way that I want to search for a particular string on a page via http. The command is defined in command.cfg as follows

# 'check_http-mysite command definition'
define command {
        command_name check_http-mysite
        command_line /usr/lib/nagios/plugins/check_http -H mysite.example.com -s "Some text" }

# 'notify-host-by-sms' command definition
define command {
        command_name  notify-host-by-sms 
        command_line  /usr/bin/send_sms $CONTACTPAGER$ "Nagios - $NOTIFICATIONTYPE$ :Host$HOSTALIAS$ is $HOSTSTATE$ ($OUTPUT$)"
}
# 'notify-service-by-sms' command definition
define command {
        command_name  notify-service-by-sms 
        command_line  /usr/bin/send_sms $CONTACTPAGER$ "Nagios - $NOTIFICATIONTYPE$: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ ($OUTPUT$)"
}

Now if nagios doesn't find "Some text" on the home page mysite.example.com, nagios should notify a contact via sms through the Clickatell http API which I have a script for that that I have tested and found that it works fine.

Whenever I change the command definition to search for a string which is not on the page, and restart nagios, I can see on the web interface that the string was not found. What I don't understand is why isn't the notification sent though I have defined the host, hostgroup, contact, contactgroup and service and so forth. What I'm I missing, these are my definitions, In my web access through the cgi I can see that I have notifications have been defined and enabled though I don't get both email and sms notifications during hard status changes.

host.cfg

define host {
        use                     generic-host
        host_name               HAL
        alias                   IBM-1
        address                 xxx.xxx.xxx.xxx
        check_command           check_http-mysite     
}

*hostgroups_nagios2.cfg*

# my website
define hostgroup{
       hostgroup_name  my-servers
       alias           All My Servers
       members         HAL 
}

*contacts_nagios2.cfg*

define contact {
        contact_name                    colin   
        alias                           Colin Y
        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,notify-service-by-sms
        host_notification_commands      notify-host-by-email,notify-host-by-sms
        email                           [email protected]
        pager                           +254xxxxxxxxx
}

define contactgroup{
        contactgroup_name   site_admin 
        alias               Site Administrator
        members             colin 
}

*services_nagios2.cfg*

# check for particular string in page via http 
define service {
        hostgroup_name                  my-servers
        service_description             STRING CHECK
        check_command                   check_http-mysite
        use                             generic-service
        notification_interval           0 ; set > 0 if you want to be renotified
        contacts                        colin
        contact_groups                  site_admin
}

Could someone please tell me where I'm going wrong.

Here are the generic-host and generic-service definitions

*generic-service_nagios2.cfg*

# generic service template definition
define service{
        name                            generic-service ; The 'name' of this service template
        active_checks_enabled           1       ; Active service checks are enabled
        passive_checks_enabled          1       ; Passive service checks are enabled/accepted
        parallelize_check               1       ; Active service checks should be parallelized (disabling this can lead to major performance problems)
        obsess_over_service             1       ; We should obsess over this service (if necessary)
        check_freshness                 0       ; Default is to NOT check service 'freshness'
        notifications_enabled           1       ; Service notifications are enabled
        event_handler_enabled           1       ; Service event handler is enabled
        flap_detection_enabled          1       ; Flap detection is enabled
        failure_prediction_enabled      1       ; Failure prediction is enabled
        process_perf_data               1       ; Process performance data
        retain_status_information       1       ; Retain status information across program restarts
        retain_nonstatus_information    1       ; Retain non-status information across program restarts
                notification_interval           0               ; Only send notifications on status change by default.
                is_volatile                     0
                check_period                    24x7
                normal_check_interval           5
                retry_check_interval            1
                max_check_attempts              4
                notification_period             24x7
                notification_options            w,u,c,r
                contact_groups                  site_admin
        register                        0       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
}

*generic-host_nagios2.cfg*

define host{
        name                            generic-host    ; The name of this host template
        notifications_enabled           1       ; Host notifications are enabled
        event_handler_enabled           1       ; Host event handler is enabled
        flap_detection_enabled          1       ; Flap detection is enabled
        failure_prediction_enabled      1       ; Failure prediction is enabled
        process_perf_data               1       ; Process performance data
        retain_status_information       1       ; Retain status information across program restarts
        retain_nonstatus_information    1       ; Retain non-status information across program restarts
                max_check_attempts              10
                notification_interval           0
                notification_period             24x7
                notification_options            d,u,r
                contact_groups                  site_admin 
        register                        1       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
}

© Server Fault or respective owner

Related posts about nagios

Related posts about sms