Re: wrong interface metrics in database reports?
"Seibold, Michael" <[email protected]>
| Newsgroups | gmane.network.opennms.general |
|---|---|
| Message-ID | <[email protected]> |
Hi all, FYI - I got following information now: The newest development-guide for opennms contains a quite good explanation of the measurement interface used in database reports, see https://docs.opennms.org/opennms/releases/latest/guide-development/guide-development.html If you turn on debugging for the reportd you will see all measurement data the API returns to the report generator, so you can drill down into the data to analyse what's really going on generating the report. It seems that there is some confusion about generating reports. If you have by example interface in/out octets, collected as "counter" data, the rrd file will contain as data the difference of the counter values between two datapoints, divided by the time difference between the two measurements. If you want to have an report about the number of octets transmitted/received by the interface, it's not sufficient to sum up all the values from the corresponding rrd files during the desired time range. This will result in adding up the used bandwidth during the whole time interval, which is a quite useless value. You need to calculate the area between the x-axis and the "measured data line", which is done by multiplying the data values by the step size. NMS-8926 corrected this, but all "private" copies of the database reports taken before this fix have to be corrected. -Michael Von: Seibold, Michael [mailto:[email protected]] Gesendet: Dienstag, 19. Dezember 2017 18:35 An: 'Discussion, General OpenNMS' <[email protected]> Betreff: [opennms-discuss] wrong interface metrics in database reports? Hi all, as stated in NMS-8926<https://issues.opennms.org/browse/NMS-8926> there might be (or have been) some bugs in the values reported by different database reports. I'm actually digging into this as we have differences between the values shown in the snmp interface graphs (which seem to be correct) for different mib2-values (In/OutOctets, different In/Out error variables) and the values we get through database reports. Anyone knows what exactly is going on here? From etc-pristine/report-templates/subreports/TotalBytesTransferredByInterface_subreport1.jrxml (Meridian 2016.1.6) <queryString language="measurement"> <![CDATA[<query-request step="300000" ... source aggregation="AVERAGE" label="IfInOctets"... Why is here a stepsize of 300000? I assume someone took the datacollection's stepsize instead of the stepsize of 300 seconds (default) used to store the values in rrd-files. <variable name="received_SUM" class="java.lang.Double" calculation="Sum"> <variableExpression><![CDATA[$F{IfInOctets}]]></variableExpression> ... What is the result of this operation - will we get the sum of the values stored in the rrd-files, or will the sum already be multiplied by the stepsize? For ifInOctets the rrd-files should contain as values the number of bytes/s transmitted during each step. To obtain the number of bytes transmitted in this interval, the value has to be multiplied by the stepsize. -Michael ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Please read the OpenNMS Mailing List FAQ: http://www.opennms.org/index.php/Mailing_List_FAQ opennms-discuss mailing list To *unsubscribe* or change your subscription options, see the bottom of this page: https://lists.sourceforge.net/lists/listinfo/opennms-discuss