Question about NEB

Hendrik Baecker b00mer at gmx.net
Fri Oct 21 15:33:58 CEST 2005


Hi,

OCSP negative.

obsess_over_services=0
#ocsp_command=somecommand

Since, at first step, I want only to log the things that nrpe must have, 
in my nagios.log (which you can see in my last post) there is no single 
executed nsca (at the moment) just logging...

I am sorry, but I don't understood your second part...
I am not quiet family with neb and c-coding... just figguring out what 
can be done and learning...

I thought, that my "neb_register_callback" tells the Nagios Core, that 
my module want to have service_check_data and that the core should call 
my module function "nsca_neb_handle_data".

AFAIR, there is no way for my module to tell the core, that I just want 
to have service_data after the check... or am I missing something?

" and AFAIR it should segfault if you try to use the plugin output 
before the check is run. "

I think, please correct me:

1. Nagios-Core executes a service check.
2. Nagios-Core reaper gets the result.
3. Nagios-Core gives callback to my module and fills out the struct 
nebstruct_service_check_data which my mods just reading out and plays with.

When I am missing something in the logic, please tell me and I will go 
back to my attic for study the source and come back with more (hopefully 
better) ideas.

Regards
Hendrik

Andreas Ericsson schrieb:

> Hendrik Baecker wrote:
>
>> Hi List,
>>
>> now I've changed some code from Ethan's helloworld.c NEB to give me 
>> NEB Callbacks from Nagios Core.
>>
>> I've registered a callback for Service Check data like this:
>>
>>    
>> neb_register_callback(NEBCALLBACK_SERVICE_CHECK_DATA,nsca_neb_module_handle,0,nsca_neb_handle_data); 
>>
>>
>> and I am processing this Service Checkdata just in that way, that I 
>> want to see them in the log:
>>
>> ###
>>
>> case NEBCALLBACK_SERVICE_CHECK_DATA:
>>                if((scdata=(nebstruct_service_check_data *)data)){
>>                        
>> snprintf(temp_buffer,sizeof(temp_buffer)-1,"nsca_neb:%s\t%s\t%d\t%s",(scdata->host_name), 
>>
>>                                    (scdata->service_description), 
>> (scdata->return_code), (scdata->output));
>>                        temp_buffer[sizeof(temp_buffer)-1]='\x0';
>>                        
>> write_to_all_logs(temp_buffer,NSLOG_INFO_MESSAGE);
>>             }
>> break;
>>
>> .....
>>
>> ###
>>
>> I am a little confused, cause I am getting two (different) Log 
>> entries for each service check!
>>
>> Log-Output:
>>
>> [1129892835] nsca_neb:Nagios_Slave      Disk /usr       0       DISK 
>> OK - free space: /usr 3425 MB (57%):
>> [1129892836] nsca_neb:Nagios_Slave      Disk /usr       0       DISK 
>> OK - free space: /usr 3425 MB (57%):
>> [1129892854] nsca_neb:Nagios_Master     Disk /var       0       DISK 
>> OK - free space: /var 2865 MB (57%):
>> [1129892855] nsca_neb:Nagios_Master     Disk /var       0       DISK 
>> OK - free space: /var 2865 MB (57%):
>>
>> On the other side I have perfdata enabled and just see one entry for 
>> each check.
>>
>> Can anyone explain?
>>
>> Is it a feature? Is it a bug?
>>
>
> I think you've still got the ocsp-command (or oscp or something) 
> enabled, so that the Nagios core and the module are both running 
> send_nsca.
>
> You also need to watch out for Nagios calling the module twice for 
> each check it does. Once before and once after. This isn't likely to 
> be what you're seeing though, because the two entries that are 
> temporally close to each other have identical plugin output and AFAIR 
> it should segfault if you try to use the plugin output before the 
> check is run.
>



-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Nagios-users mailing list
Nagios-users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-users
::: Please include Nagios version, plugin version (-v) and OS when reporting any issue. 
::: Messages without supporting info will risk being sent to /dev/null





More information about the Users mailing list