[Nagiosplug-help] How to get NSCA running? Any HOWTO's out there?

Anthony Montibello amontibello at gmail.com
Thu Feb 17 21:02:13 CET 2005


I think the problem you are experiencing is the difference from a host
check and a service check.  I am not an expert on configuring Nagios,
however, your message describes you trying to setup a service check.
and this is the result you recieved in the Nagios.log:
PROCESS_HOST_CHECK_RESULT;testserver1 check_remote_disk;1;DISK CRITICAL -
this is a result from a passive host check -- notice not ';' between
the Host ID and service check.
this is due to the input to send_nsca. Just change the spaces between
the host ID and the sevice description to a [tab] and is should then
go through as a passive service check. and the result in nagios.log
should look like this:
PROCESS_SERVICE_CHECK_RESULT;testserver1;check_remote_disk;1;DISK CRITICAL -

Hope this helps
Tony


On Wed, 16 Feb 2005 13:42:57 -0500, Hastings, Spencer
<Spencer.Hastings at safelite.com> wrote:
> 
> 
> 
> I'm running into issues trying to get NSCA up and running. I looked through
> the archives and saw a few posts that deal with what looks to me like the
> same issue, but no response that actually makes things click.
> 
> I'm trying to run a utility, any utility, in this case though I am using
> check_disk on another node and send back the results via NSCA. (I'm using
> this over NRPE or check_by_ssh because eventually I will need applications
> to submit their results back to the master-server if they encounter an
> error. So I thought testing a simple Nagios plugin and sending back the
> results would be fine to test it).
> 
> So this is a passive check test. 
> 
> I read the notes, compiled the mcrypt libraries, and then compiled the NSCA
> plugin. I set the passwords and encryption level, configured NSCA to run a a
> daemon. Made the nsca_send client, populated it, etc. No issues.
> 
> I turned on check_external_commands in the nagios.cfg file.. no issue there
> either. 
> 
> So I run this on my remote host by manual execution and format it and pipe
> it into NSCA.. 
> My line basically looks like this : 
> 
> testserver1 check_remote_disk 1 DISK CRITICAL - free space: /usr 93 MB
> (5%);| /usr=1636MB;1209;1555;0;1728 
> 
> cat bob|./send_nsca -H xx.xx.xx.xx -p 5667 -c send_nsca.cfg 
> And its accepted after my formatting.. : 1 data packet(s) sent to host
> successfully. 
> 
> It appears in my $NAGIOS/rw/nagios.cmd dir : [1108561917]
> PROCESS_HOST_CHECK_RESULT;testserver1 check_remote_disk;1;DISK CRITICAL -
> free space: /usr 93 MB (5%);| /usr=1636MB;1209;1555;0;1728
> 
> In the Nagios log file on the master server I get : 
> 
> [1108559934] Warning: Unrecognized external command ->
> PROCESS_HOST_CHECK_RESULT;testserver1 check_remote_disk;1;DISK CRITICAL -
> free space: /usr 93 MB (5%);| /usr=1636MB;1209;1555;0;1728
> 
> I define a passive service template in services.cfg. 
> 
> define service{ 
>         name                            generic-service-passive ; The 'name'
> of this service template 
>         active_checks_enabled           0       ; Active service checks are
> enabled 
>         passive_checks_enabled          1       ; Passive service checks are
> enabled/accepted 
>         parallelize_check               1       ; Active service checks
> should be parallelized 
>         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 
>         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 
>         register                        0       ; TEMPLATE, DO NOT REGISTER!
>         } 
> 
> I define utility2 as a valid machine with this template..  but I'm having
> some difficulty figuring out "how" to define this. (assuming the template I
> have above is even right)
> 
> define service{ 
>         use    generic-service-passive 
> 
>         host_name   testserver1 
>         service_description  check_remote_disk 
>         is_volatile   0 
>         check_period   24x7 
>         max_check_attempts  3 
>         normal_check_interval  5 
>         retry_check_interval  1 
>         contact_groups   aixadmin 
>         notification_interval  120 
>         notification_period  24x7 
>         notification_options  w,u,c,r 
>         check_command   check_disk  <--- what should this be? 
>         } 
> 
> [1108561237] Warning: Unrecognized external command ->
> PROCESS_HOST_CHECK_RESULT;utility2 check_remote_disk;1;DISK CRITICAL - free
> space: /usr 93 MB (5%);| /usr=1636MB;1209;1555;0;1728
> 
> I'm not sure what all I need to do here. 
> 
> I've tried multiple ways to define the service including putting it into
> checkcommands.cfg and then redoing the entry : 
> 
> define service{ 
>         use    generic-service-passive 
> 
>         host_name   utility2 
>         service_description  check_remote_disk 
>         is_volatile   0 
>         check_period   24x7 
>         max_check_attempts  3 
>         normal_check_interval  5 
>         retry_check_interval  1 
>         contact_groups   aixadmin 
>         notification_interval  120 
>         notification_period  24x7 
>         notification_options  w,u,c,r 
>         check_command   check_remote_disk 
>         } 
> 
> I've tried adding the check_remote_disk command to the checkcommands.cfg
> file as well... 
> 
> # 'check_remote_disk' command definition 
> define command{ 
>         command_name    check_remote_disk 
>         command_line    $USER$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$ 
>         } 
> 
> I'm kind of puzzled as to how I make the nagios server process what is in
> that external commands file.. I know that its making it there and its
> getting inserted. The documentation says you have to define a service with
> it.. but it doesn't say very much on "how" to do that. I tried looking for
> some howto's on this subject, but none of them seem to address this. I tried
> to drop the whole "check_command" stanza but Nagios didn't like that at all.
> (I'm not sure why I would need to have it though since I already passed it
> the return code for critical... and all it needs to do is put it into
> nagios. In fact if I code this into an application, it is definately not
> going to have the "agent" on the master server to even corrolate with, so I
> shouldn't need anything in checkcommands.cfg.. by my thinking).
> 
> ... on another note... 
> The send_nsca command lists 2 ways of sending checks : 
> 
>         Service Checks: 
>        
> <host_name>[tab]<svc_description>[tab]<return_code>[tab]<plugin_output>[newline]
> 
>         Host Checks: 
>         <host_name>[tab]<return_code>[tab]<plugin_output>[newline] 
> 
> I'm not sure what the difference is... 
> 
> Any help/wisdom/howto info you could drop upon me would be much appreciated!
> 
> -Spencer 
> ***********************************************************************
This
> message, including any attachments, may contain
confidential information
> intended for a specific individual
and purpose, and may be protected by law.
> If you are not
the intended recipient, please notify the sender by e-mail
or
> telephone immediately, and then immediately delete this
message. Any
> disclosure, copying or distribution of this
message, or the taking of any
> action based on it, by any
unintended recipient is strictly
> prohibited.

Checked by the Safelite e-mail scanner which may have
resulted
> in the attachments being modified or removed.




More information about the Help mailing list