From: Ben C. <be...@cl...> - 2005-03-01 08:24:22
|
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@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@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@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 ??? > |