Bug 236716

Summary: net/ntopng: pfSense ntopng Port - Historical graph inaccurate
Product: Ports & Packages Reporter: Amos <amos2580>
Component: Individual Port(s)Assignee: Guido Falsi <madpilot>
Status: Closed Feedback Timeout    
Severity: Affects Some People CC: madpilot
Priority: --- Keywords: feature, performance
Version: Latest   
Hardware: arm64   
OS: Any   

Description Amos 2019-03-22 14:20:35 UTC
Reference: https://github.com/pfsense/FreeBSD-ports/tree/devel/net/pfSense-pkg-ntopng

Please note, this has been tested on different hardware with a base install of pfSense 2.4.4r2 and ntopng 0.8.13_3 (ntopng Community Edition v.3.6.181116) and the problem is still there, so I believe this bug would affect everyone.

pfSense additional package install for ntopng 0.8.13_3 has some issues with historical graphs in ntopng's interface.

Please note, this bug isn't apparent in older versions. It seems to be related to the graph 'smoothing' change if I were to guess.

In NTOPNG > Interfaces > Historical it's not displaying traffic values correctly, it seems to cap around 10Mbps.

Here's an image explaining my issue: https://i.imgur.com/oPyRqc3.png

1. Ordered by 'Bytes (Traffic)' as you can see the average is 22Mb/s yet the graph doesn't peak any higher than 4.5Mb/s...
2. One of the peaks around 4.3Mb/s which doesn't seem close to correct for 22Mb/s average.
3. Averaging 22Mb/s over time-frame. 
4. 3 clients totaling over 4.3Mb/s yet only showing under 4.3Mb/s on the graph. 
Similar image using a 3-hour graph instead of 5 minutes, https://i.imgur.com/CIHfmGK.png

As you can see the says 3Mb/s 'average' according to the graph, but on the right, it's reading the correct average of 19Mb/s.

It seems since the latest update where the 'peaks' are 'smoothed'(?) it hasn't been displaying correctly, unfortunately.

Additional reports: https://redmine.pfsense.org/issues/9143
https://forum.netgate.com/topic/137960/issue-ntopng-not-displaying-values-in-historical-correctly
Comment 1 Guido Falsi freebsd_committer freebsd_triage 2019-03-22 14:55:25 UTC
I'm taking this as the maintainer of the ntopng port.

I'm not sure though how to address this. It looks like an ntopng problem, since the graphs are generated by it.

Does not look like a porting problem but an upstream bug.

I'll try looking at it. Anyway it is important to note that historical data is actually smoothed out, as you say, so a single peak, or many small peaks will rarely show in the graph. If I remember correctly those graphs are generated using rrdtool. That tool registers data for timeframes (let's say 5 minutes, or 1 day) and for each timeframe registers a minimum a maximum and an average value. It can well be the graph is drawn using only the averages, while the other data also uses the min/max values, which then would never show in the graph.

It could be interesting to test if this happens with a vanilla FreeBSD box or a a Linux box too.
Comment 2 Amos 2019-03-22 15:23:04 UTC
Thank you for taking a look at it Guido, I've had this report open on pfSense/netgate for a few months now without any interest, would be nice to see it fixed. 

But just for further clarification, I ran a download for 5 mins, maxed my download out and you can see it pretty good here: https://i.imgur.com/QjQHeyj.png

Please let me know if I can provide any further details.
Comment 3 Guido Falsi freebsd_committer freebsd_triage 2019-03-22 16:19:07 UTC
(In reply to Amos from comment #2)
> Thank you for taking a look at it Guido, I've had this report open on
> pfSense/netgate for a few months now without any interest, would be nice to
> see it fixed. 
> 
> But just for further clarification, I ran a download for 5 mins, maxed my
> download out and you can see it pretty good here:
> https://i.imgur.com/QjQHeyj.png

I think to override the rrdtool logic you should keep it up longer, but I can't remember exactly and need to have a look. The screenshot does not specify exactly WHAT is being graphed there. Are you sure you are expecting it to graph what it is actually graphing? The "95 percentile" figure is consistent with the graph.

I've never used that functionality so I need to investigate anyway. It will take some time.

> 
> Please let me know if I can provide any further details.

I can test but I don't think I or the pfsense guys can fix this directly. It'sd not a porting problem.

This graph is generated by ntopng itself, so it is an upstream bug, and should be reported there.
Comment 4 Amos 2019-03-22 16:29:32 UTC
Before the 'smoothing' update it would match the 'average' and not the 95%.

I'd have to downgrade ntopng to get the comparison, but I'm not too sure how to do this. 

I don't think it makes much sense for the historical graph to match 95%ile unless this is a recent, intended functionality change? It makes more sense to me that the graph shows the average throughput for the given period. 

I also don't actually think it's matching the 95%ile as 80*0.05=4Mbps where that picture was showing 10Mb/s.

Can you tell me where this should be reported specifically and I'll raise a bug report there?
Comment 5 Guido Falsi freebsd_committer freebsd_triage 2019-03-22 16:39:57 UTC
(In reply to Amos from comment #4)
> Before the 'smoothing' update it would match the 'average' and not the 95%.
> 

Which smoothing update? You mean a change in ntopng?

> I'd have to downgrade ntopng to get the comparison, but I'm not too sure how
> to do this. 
> 
> I don't think it makes much sense for the historical graph to match 95%ile
> unless this is a recent, intended functionality change? It makes more sense
> to me that the graph shows the average throughput for the given period. 
> 
> I also don't actually think it's matching the 95%ile as 80*0.05=4Mbps where
> that picture was showing 10Mb/s.

I don't know how that's calculated, I think it depends on the time too. Anyway It was just an observaation

> 
> Can you tell me where this should be reported specifically and I'll raise a
> bug report there?

The ntopng development is hosted on github:

https://github.com/ntop/ntopng
Comment 6 Amos 2019-03-25 16:31:58 UTC
Just for reference, I've created the issue on ntopng's Github: https://github.com/ntop/ntopng/issues/2480
Comment 7 Amos 2019-03-26 09:09:03 UTC
@Guido Falsi one of the github maintainers for ntopng replied to me: https://github.com/ntop/ntopng/issues/2480#issuecomment-476527781

"Hi, the 3.6 version is the old stable, we cannot provide support for it. Please update (or ask the package maintainers to update) to the new 3.8 stable and check if the problem is still present"

Is it possible to upgrade the package to 3.8 if not, how can I port the package to pfSense locally? Thank you!
Comment 8 Guido Falsi freebsd_committer freebsd_triage 2019-03-26 09:46:13 UTC
(In reply to Amos from comment #7)
> @Guido Falsi one of the github maintainers for ntopng replied to me:
> https://github.com/ntop/ntopng/issues/2480#issuecomment-476527781
> 
> "Hi, the 3.6 version is the old stable, we cannot provide support for it.
> Please update (or ask the package maintainers to update) to the new 3.8
> stable and check if the problem is still present"

Oh yes. The FreeBSD port is already updated in the latest branch.

The quarterly branch has version 2.6. A new quarterly will be branched at the start of the next month. This happens every three months.

Now this is the FreeBSD support, for pfSense specific questions you should talk with the pfsense guys.

In FreeBSD to get version 3.8 now you would just switch to the latest branch.

pfSense imports updates to ports from the quarterly branch so ntopng 3.8 will be available there not before April 1st. But I'm not a pfSense developer so I don't know the details.

> 
> Is it possible to upgrade the package to 3.8 if not, how can I port the
> package to pfSense locally? Thank you!


You'll have to ask the pfsense guys. I think you can use a normal FreeBSD package in pfSense, but I'm not sure.

Otherwise wait after April 1st for the next package update import.
Comment 9 Amos 2019-03-26 10:55:54 UTC
Thank you for the reply, I will wait for the packages to get merged after April 1st and report back if the issue isn't fixed on ntopng's github. 

I reported it to pfSense's bug tracker: https://redmine.pfsense.org/issues/9143 but have had no response.
Comment 10 Guido Falsi freebsd_committer freebsd_triage 2019-04-10 17:19:02 UTC
(In reply to Amos from comment #9)
> Thank you for the reply, I will wait for the packages to get merged after
> April 1st and report back if the issue isn't fixed on ntopng's github. 
> 
> I reported it to pfSense's bug tracker:
> https://redmine.pfsense.org/issues/9143 but have had no response.

I think pfSense has updated the ports tree to the new 2019Q2 quarterly, have you had a chance to test ntopng 3.8?
Comment 11 Guido Falsi freebsd_committer freebsd_triage 2019-05-09 06:51:43 UTC
(In reply to Guido Falsi from comment #10)
> (In reply to Amos from comment #9)
> > Thank you for the reply, I will wait for the packages to get merged after
> > April 1st and report back if the issue isn't fixed on ntopng's github. 
> > 
> > I reported it to pfSense's bug tracker:
> > https://redmine.pfsense.org/issues/9143 but have had no response.
> 
> I think pfSense has updated the ports tree to the new 2019Q2 quarterly, have
> you had a chance to test ntopng 3.8?

Did you have a chance to test?
Comment 12 Amos 2019-05-09 09:16:26 UTC
(In reply to Guido Falsi from comment #11)

I don't see any release version to update from https://i.imgur.com/0flfaqa.png

I'd love to try out a new version in hopes that it's fixed, but I'm unsure how to upgrade to a newer version of NTOPNG within pfSense.
Comment 13 Guido Falsi freebsd_committer freebsd_triage 2019-05-09 11:01:37 UTC
(In reply to Amos from comment #12)
> (In reply to Guido Falsi from comment #11)
> 
> I don't see any release version to update from
> https://i.imgur.com/0flfaqa.png
> 
> I'd love to try out a new version in hopes that it's fixed, but I'm unsure
> how to upgrade to a newer version of NTOPNG within pfSense.

I'm sorry I can't help much about this.

I tested and pfsense is still distributing old binaries. I'm not sure what is their policy, but if you want them to distribute newer packages you'll have to talk to them.

This is the FreeBSD support, and the FreeBSD port is updated.
Comment 14 Guido Falsi freebsd_committer freebsd_triage 2020-06-28 13:35:26 UTC
(In reply to Amos from comment #12)

Any news regarding this issue?