Re: [Nagios-devel] Nagios 2.6 still not draining command pipe fast
Posted: Tue Feb 20, 2007 6:46 am
John P. Rouillard wrote:
> In message ,
> Ethan Galstad writes:
>
>> John P. Rouillard wrote:
>>> Hi all:
>>>
>>> I am trying to get my external correlation engine working with nagios
>>> 2.x , and I just can't get
>>> nagios to drain the command pipe fast enough. I see approx. 5% failure
>>> rate on writing to the command pipe with an EAGAIN error.
>>>
>>> I have increased:
>>>
>>> nagios.h:#define COMMAND_BUFFER_SLOTS 20480
>>> nagios.h:#define SERVICE_BUFFER_SLOTS 20480
>>>
>>> from the original 1024. In the increase of the settings from 10240 to
>>> 20480, I may see a slight decrease (maybe .5%), but I think I just want to
>>> see it. I don't think it's statistically viable.
>> John - Does this problem still occur with Nagios 2.7 or the latest 2.x
>> CVS code? A separate command file worker thread should be reading
>> entries from the external command file as fast as it can read them (as
>> long as their are free buffer slots).
>
> I don't know. 2.6 was the latest when I started this. I will build it
> later this week and report back.
>
>> If there aren't any external commands, the thread waits 0.5 seconds
>> before checking for new commands in the file. If you have occasional
>> bursts of check results, this could be too long to wait. You could try
>> experimenting with decreasing the 0.5 second delay. Around line 4948 of
>> base/utils.c, you'll find...
>>
>> /* wait a bit */
>> tv.tv_sec=0;
>> tv.tv_usec=500000;
>> select(0,NULL,NULL,NULL,&tv);
>>
>> You could try decreasing the value of tv.tv_usec to 100000 (0.1 seconds)
>> and see if that helps at all.
>
> Cool. Thanks. Maybe this is also a tuning parameter that could/should
> be exposed in the configuation files?
Possibly, but users are probably already suffering from config variable
overload.
If changing the value helps with your situation, I
suppose something different would be in order though.
>
> If I get my external correlation patch working, would you consider
> including the patch in the nagios core?
>
> -- rouilj
> John Rouillard
Sounds interesting. If you send a patch, I'll consider it for inclusion
in Nagios 3, although I won't want patches that changes too many things
once 3 goes into beta.
Ethan Galstad,
Nagios Developer
---
Email: [email protected]
Website: http://www.nagios.org
This post was automatically imported from historical nagios-devel mailing list archives
Original poster: [email protected]
> In message ,
> Ethan Galstad writes:
>
>> John P. Rouillard wrote:
>>> Hi all:
>>>
>>> I am trying to get my external correlation engine working with nagios
>>> 2.x , and I just can't get
>>> nagios to drain the command pipe fast enough. I see approx. 5% failure
>>> rate on writing to the command pipe with an EAGAIN error.
>>>
>>> I have increased:
>>>
>>> nagios.h:#define COMMAND_BUFFER_SLOTS 20480
>>> nagios.h:#define SERVICE_BUFFER_SLOTS 20480
>>>
>>> from the original 1024. In the increase of the settings from 10240 to
>>> 20480, I may see a slight decrease (maybe .5%), but I think I just want to
>>> see it. I don't think it's statistically viable.
>> John - Does this problem still occur with Nagios 2.7 or the latest 2.x
>> CVS code? A separate command file worker thread should be reading
>> entries from the external command file as fast as it can read them (as
>> long as their are free buffer slots).
>
> I don't know. 2.6 was the latest when I started this. I will build it
> later this week and report back.
>
>> If there aren't any external commands, the thread waits 0.5 seconds
>> before checking for new commands in the file. If you have occasional
>> bursts of check results, this could be too long to wait. You could try
>> experimenting with decreasing the 0.5 second delay. Around line 4948 of
>> base/utils.c, you'll find...
>>
>> /* wait a bit */
>> tv.tv_sec=0;
>> tv.tv_usec=500000;
>> select(0,NULL,NULL,NULL,&tv);
>>
>> You could try decreasing the value of tv.tv_usec to 100000 (0.1 seconds)
>> and see if that helps at all.
>
> Cool. Thanks. Maybe this is also a tuning parameter that could/should
> be exposed in the configuation files?
Possibly, but users are probably already suffering from config variable
overload.
suppose something different would be in order though.
>
> If I get my external correlation patch working, would you consider
> including the patch in the nagios core?
>
> -- rouilj
> John Rouillard
Sounds interesting. If you send a patch, I'll consider it for inclusion
in Nagios 3, although I won't want patches that changes too many things
once 3 goes into beta.
Ethan Galstad,
Nagios Developer
---
Email: [email protected]
Website: http://www.nagios.org
This post was automatically imported from historical nagios-devel mailing list archives
Original poster: [email protected]