[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