[Nagiosplug-devel] Re: [Perfparse-users] zero values in database

Ben Clewett ben at clewett.org.uk
Tue Mar 1 00:26:32 CET 2005


Jessica,

These are known bugs in the plugins which are causing lots of users 
problems.

I can suggest two solutions.

1.  Recompile the plugins using:

./configure --disable-nls

I have not tested this, but I believe this should work.

2. After the 'textdomain' call at the start of the plugin source code, 
add the line:

setlocale(LC_NUMERIC, "POSIX");

Eg, with your problem plugin check_load.  Edit plugins/check_load.c:

-------------------check_load.c-------------------

int
main (int argc, char **argv)
{
         int result = STATE_UNKNOWN;

#if HAVE_GETLOADAVG==1
         double la[3] = { 0.0, 0.0, 0.0 };       /* NetBSD complains 
about unitialized arrays */
#else
# if HAVE_PROC_LOADAVG==1
         FILE *fp;
         char input_buffer[MAX_INPUT_BUFFER];
         char *tmp_ptr;
# else
         char input_buffer[MAX_INPUT_BUFFER];
# endif
#endif

         float la1, la5, la15;

         setlocale (LC_ALL, "");
         bindtextdomain (PACKAGE, LOCALEDIR);
         textdomain (PACKAGE);

	setlocale(LC_NUMERIC, "POSIX");			<--- HERE!!

-------------------check_load.c-------------------

This should sort out your problems.  Please let us know.

Regards,

Ben.



Jessica Holle wrote:
> Sorry, but I've forgotten another thing.
> 
> First I tell you something, so it's better to understand I hope.
> 
> I had problems with the check_load plugin:
> 
> nagios at rzvlabwks:/usr/local/nagios/libexec> ./check_load -w 1.5,1.5,1.5 -c
> 4.0,2.0,2.0
> Warning threshold must be float or float triplet!
> 
> Usage: check_load -w WLOAD1,WLOAD5,WLOAD15 -c CLOAD1,CLOAD5,CLOAD15
> 
> 
> So I get this bad output, but I've found a solution:
> 
> nagios at rzvlabwks:/usr/local/nagios/libexec> ./check_load -w 1,5:1,5:1,5 -c
> 4,0:2,0:2,0
> OK - load average: 0,27, 0,30,
> 0,29|load1=0,270000;1,500000;4,000000;0,000000
> load5=0,300000;1,500000;2,000000;0,000000
> load15=0,290000;1,500000;2,000000;0,000000
> 
> 
> So I think there is a problem with , and . !!!
> 
> Some days before the first "version" of my check_load numbers worked but now
> I do it with the second.
> 
> 
> And now to my right problem...
> 
> It's about the values in my database:
> 
> 47020 | jholle    | Ping                | rta    | 2005-02-28 15:51:39 |    
> 0 |    85 |       95 |     0 |
> | 47021 | jholle    | Ping                | pl     | 2005-02-28 15:51:39 |  
>   0 |    40 |       80 |     0 |
> 
> 
> There are no values only a zero.
> 
> nagios at rzvlabwks:/usr/local/nagios/libexec> ./check_icmp -H jholle
> OK - jholle: rta 0.224ms, lost 0%|rta=0.224ms;200.000;500.000;0;
> pl=0%;40;80;;
> 
> 
> But here are values. When this value goes over 1 it is shown in database,
> but only as a 1 not the float integers.
> I think this is because of the . ! I think it is like my first problem.
> there was a point which could not be interpreted and here is a point again.
> I don't know but I think when there is a , and not a . the problem is
> solved... 
> 
> Can I think right ???
> 





More information about the Devel mailing list