[Nagios-devel] NDO big perfdata bug?

Support forum for Nagios Core, Nagios Plugins, NCPA, NRPE, NSCA, NDOUtils and more. Engage with the community of users including those using the open source solutions.
Locked
Guest

[Nagios-devel] NDO big perfdata bug?

Post by Guest »

This is a multi-part message in MIME format.
--------------090504090300000002040900
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

Currently I'm testing injecting big results into Nagios via a new
program called nrd (Nagios Result Distributor) (I posted a while ago on
this list, announcing it as nsca2).

Currently I'm getting the results into Nagios fine, but ndo seems to
have a bad time with big perfdata... The Nagios screens show all the
perfdata correctly, but the results don't appear in the NDO db.

I activate debugging in NDO, and never see an INSERT with lots of
perfdata. I've tracked down the problem to the following:

- the ndo.dat file seems to get the data messed up:

- reading through the code, it looks like every entry in the ndo.dat
would finish in 999 (NDO_API_ENDDATA)

- the perfdata entry 99 (NDO_API_PERFDATA) for "206:" seems to have
a mix of data in it (starts like result "213", until you get another
NDO_API_PERFDATA section, and at the end of the line you get a 999 (with
no "\n" before it).

- I attach a test.dat file that is a capture of the ndo.dat file so
you can examine it.

- I attach the script that is causing this: check_big_perfdata.pl

I would expect to see the 500 perfdata entries that the big_perfdata
check generates (as the Nagios status screens show them without problems)

Looking around in the code, to find a possible cause, I think I found a
small bug in io.c, also
ndo_unescape_buffer:
if (buffer[x+1]=='\t'){
i think should be
if (buffer[x+1]=='t'){
but I think this is unrelated to the big perfdata problem.

Any thoughs on why NDO is "eating up" the perfdata?

Cheers,

Jose Luis Martinez
[email protected]

--------------090504090300000002040900
Content-Type: text/plain;
name="test.dat"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline;
filename="test.dat"



HELLO
PROTOCOL: 2
AGENT: NDOMOD
AGENTVERSION: 1.4b7
STARTTIME: 1254090868
DISPOSITION: REALTIME
CONNECTION: FILE
CONNECTTYPE: INITIAL
INSTANCENAME: default
STARTDATADUMP


206:
1=3D701
2=3D0
3=3D0
4=3D1254090871.88609
53=3Dcode.google.com
114=3DBig perf check 500
12=3D1
25=3D1
76=3D3
121=3D1
118=3D0
123=3D60
127=3D
13=3D
14=3D
117=3D1254090410.577764
33=3D1254090410.577764
32=3D0
42=3D0.00000
71=3D460.57641
110=3D0
95=3DBIG_PERFDATA OK - Im OK
99=3Dperf_1=3D1;; perf_2=3D2;; perf_3=3D3;; perf_4=3D4;; perf_5=3D5;; per=
f_6=3D6;; perf_7=3D7;; perf_8=3D8;; perf_9=3D9;; perf_10=3D10;; perf_11=3D=
11;; perf_12=3D12;; perf_13=3D13;; perf_14=3D14;; perf_15=3D15;; perf_16=3D=
16;; perf_17=3D17;; perf_18=3D18;; perf_19=3D19;; perf_20=3D20;; perf_21=3D=
21;; perf_22=3D22;; perf_23=3D23;; perf_24=3D24;; perf_25=3D25;; perf_26=3D=
26;; perf_27=3D27;; perf_28=3D28;; perf_29=3D29;; perf_30=3D30;; perf_31=3D=
31;; perf_32=3D32;; perf_33=3D33;; perf_34=3D34;; perf_35=3D35;; perf_36=3D=
36;; perf_37=3D37;; perf_38=3D38;; perf_39=3D39;; perf_40=3D40;; perf_41=3D=
41;; perf_42=3D42;; perf_43=3D43;; perf_44=3D44;; perf_45=3D45;; perf_46=3D=
46;; perf_47=3D47;; perf_48=3D48;; perf_49=3D49;; perf_50=3D50;; perf_51=3D=
51;; perf_52=3D52;; perf_53=3D53;; perf_54=3D54;; perf_55=3D55;; perf_56=3D=
56;; perf_57=3D57;; perf_58=3D58;; perf_59=3D59;; perf_60=3D60;; perf_61=3D=
61;; perf_62=3D62;; perf_63=3D63;; perf_64=3D64;; perf_65=3D65;; perf_66=3D=
66;; perf_67=3D67;; perf_68=3D68;; perf_69=3D69;; perf_70=3D70;; perf_71=3D=
71;; perf_72=3D72;; perf_73=3D73;; perf_74=3D74;; perf_75=3D75;; perf_76=3D=
76;; perf_77=3D77;; perf_78=3D78;; perf_79=3D79;; perf_80=3D80;; perf_81=3D=
81;; perf_82=3D82;; perf_83=3D83;; perf_84=3D84;; perf_85=3D85;; perf_86=3D=
86;; perf_87=3D87;; perf_88=3D88;; perf_89=3D89;; perf_90=3D90;; perf_91=3D=
91;; perf_92=3D92;; perf_93=3D93;; perf_94=3D94;; perf_95=3D95;; perf_96=3D=
96;; perf_97=3D97;; perf_98=3D98;; perf_99=3D99;; perf_100=3D100;; perf_1=
01=3D101;; perf_102=3D102;; perf_103=3D103;; perf_104=3D104;; perf_105=3D=
105;; perf_106=3D106;; perf_107=3D107;; perf_108=3D108;; perf_109=3D109;;=
perf_110=3D110;; perf_111=3D111;; perf_112=3D112;; perf_113=3D

...[email truncated]...


This post was automatically imported from historical nagios-devel mailing list archives
Original poster: [email protected]
Locked