Thanks for the patch but unfortunately for collectl i retired a few months ago and have not been able to convince anyone at HPE to pick it up and continue to support it. I do keep hoping someone will and I'd be more than happy to help answer any development questions. -mark
On Wed, Oct 23, 2019, 8:48 AM Florian, BERBAR <[email protected]> wrote: > Hello, > > The information sent by collectl to graphite_exporter trigger a bug during > the formatting of environnement data : > Aug 18 01:45:33 <HOSTNAME> graphite_expo Invalid value rter[15097]: > time="2019-08-18T01:45:33+02:00" level=info msg="Invalid value in line: > <HOSTNAME>.env.BTemp1 sf 1566085530" source="main.go:112" > > The value of environnement data was set to « sf » that return a "Invalid > value" notification. > > A unitary execution of the ‘Environment subsystem’ (E parameter of the -s > option) between a host and the grafite daemon show this behaviour : > > <host># collectl -sE -i::1 -c1 --export graphite,<graphite_host> > > <graphite_host># tcpdump > [...] > 0x0000: 4500 0057 9ca7 4000 4006 4545 0a82 21b3 E..W..@[email protected]..!. > 0x0010: 0a82 21fe dafe 07d3 57d9 6ddd fbf7 1fb5 ..!.....W.m..... > 0x0020: 8018 00de cdde 0000 0101 080a a2e9 f028 ...............( > 0x0030: a2f4 333b 0000 0000 0000 0000 002e 656e ..3;<HOSTNAME>.en > 0x0040: 762e 4254 656d 7032 2073 6620 3135 3636 v.BTemp2.sf.1566 > 0x0050: 3339 3231 3835 0a 392185. > > > <host># tcpdump > [...] > 0x0000: 4500 0057 b54f 4000 4006 2c9d 0a82 21b3 E..W.O@.@.,...!. > 0x0010: 0a82 21fe dafe 07d3 57de dd56 fbf7 1fb5 ..!.....W..V.... > 0x0020: 8018 00de 2e44 0000 0101 080a a2f1 09af .....D.......... > 0x0030: a2fb 4cc2 0000 0000 0000 0000 002e 656e ..L.<HOSTNAME>.en > 0x0040: 762e 4254 656d 7032 2073 6620 3135 3636 v.BTemp2.sf.1566 > 0x0050: 3339 3236 3530 0a 392650. > > This two network dumps show the issues at data sending time by the host > involving the corrupt data received by the graphite host. > > The execution without exporting data to graphite host shows good values : > > <host># collectl -sE -i::1 -c1 -f /var/log/collectl/ > <host># ls -l /var/log/collectl/<host>2-20190821-145917.raw.gz > -rw-r--r--. 1 root root 975 Aug 21 14:59 > /var/log/collectl/<host>-20190821-145917.raw.gz > <host># zgrep "Blade Temp" /var/log/collectl/<host>-20190821-145917.raw.gz > ipmi: Blade Temp1,28,degrees C,ok > ipmi: Blade Temp2,31,degrees C,ok > ipmi: Blade Temp1,28,degrees C,ok > ipmi: Blade Temp2,31,degrees C,ok > > The collected data is sent to graphite deamon using the sendData function > defined at line 445 of /usr/share/collect/graphite.ph file. This function > take 4 arguments. The 4th arguments is the float precision used during data > formating : > 445 sendData("env.$name$inst", $name, $ipmiData->{$key}->[$i]->{value}, '%s'); > [...] > 460 sub sendData > 461{ > 462 my $name= shift; > 463 my $units=shift; > 664 my $value=shift; > 465 my $numpl=shift; # number of decimal places > [...] > 516 my $valString=(!defined($numpl)) ? sprintf('%d', $value) : > sprintf("%.${numpl}f", $value); > 517 my $message=sprintf("$graphiteBefore$graphiteMyHost$graphitePost.$name > $valString %d\n", $graphiteIntTimeLast); > 518 print $message if $graphiteDebug & 1; > 519 if (!($graphiteDebug & 8)) > 520 { > 521 my $bytes=syswrite($graphiteSocket, $message, length($message), 0); > 522 } > > The float precision is set to ‘%s’ string which can’t be used as part of the > float string format used at line 516. The string "%s" gives the string format > "%.%sf". The values sent are therefore set to "sf" instead of a floating > point number. > > The fix is to set the precision parameter to a integer constant instead of > the string '%s'. A patch was add in attachment (The second correction is just > to make the string format generation more human readable). > > > Thank you > > Florian > _______________________________________________ > Collectl-interest mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/collectl-interest >
_______________________________________________ Collectl-interest mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/collectl-interest
