As long as all the other stuff is right that make perfect sense - I'll
commit it.

It does mean that your issue wasn't related to the other one.  I wonder if
you were seeing values because of the missing name problem which Luca had
fixed, where RRDs were being updated without a value for the host, leading
to multiple updates for the main rrd...

rrd_update(/var/ntop/rrd/interfaces/NetFlow-device/hosts//pktSent.rrd)
                                                        ^^

Anyway, glad you were able to find the missing code.

-----Burton

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf
> Of Markus Rehbach
> Sent: Sunday, February 29, 2004 10:09 AM
> To: [EMAIL PROTECTED]
> Subject: Re: [Ntop-dev] values in upToXYZPkts RRD graphs are too low
> (about factor 10) (QDA9WTB?)
>
>
> Burton,
>
> a solution for my problem is as follows (which lead to the
> question why there
> were values <> 0 in the netflow rrd graphs for upToxxx, index sometimes
> wrong or are the values filled in but not in netflowPlugin.c?):
>
> --- netflowPlugin.c.old 2004-02-29 16:23:19.235650363 +0100
> +++ netflowPlugin.c     2004-02-29 16:26:01.000000000 +0100
> @@ -558,20 +558,35 @@
>    }
>
>    myGlobals.device[actualDeviceId].receivedPkts.value += numPkts;
>    myGlobals.device[actualDeviceId].ethernetPkts.value += numPkts;
>    myGlobals.device[actualDeviceId].ipPkts.value       += numPkts;
>    updateDevicePacketStats((u_int)len, actualDeviceId);
>
>    myGlobals.device[actualDeviceId].ethernetBytes.value += len;
>    myGlobals.device[actualDeviceId].ipBytes.value       += len;
>
> +  if (numPkts > 0) {
> +    if (len/numPkts <= 64)
> +      myGlobals.device[actualDeviceId].rcvdPktStats.upTo64.value
> += numPkts;
> +    else if (len/numPkts <= 128)
> +
> myGlobals.device[actualDeviceId].rcvdPktStats.upTo128.value += numPkts;
> +    else if (len/numPkts <= 256)
> +
> myGlobals.device[actualDeviceId].rcvdPktStats.upTo256.value += numPkts;
> +    else if (len/numPkts <= 512)
> +
> myGlobals.device[actualDeviceId].rcvdPktStats.upTo512.value += numPkts;
> +    else if (len/numPkts <= 1024)
> +
> myGlobals.device[actualDeviceId].rcvdPktStats.upTo1024.value += numPkts;
> +    else if (len/numPkts <= 1518)
> +
> myGlobals.device[actualDeviceId].rcvdPktStats.upTo1518.value += numPkts;
> +  }
> +
>  #ifdef CFG_MULTITHREADED
>    /* accessMutex(&myGlobals.hostsHashMutex, "processNetFlowPacket"); */
>  #endif
>
>
>    if(!skipSRC) {
>      switch((skipSRC = isOKtoSave(ntohl(record->srcaddr),
>                                  whiteNetworks, blackNetworks,
>                                  numWhiteNets, numBlackNets)) ) {
>      case 1:
>
> _______________________________________
>
> On Sunday 29 February 2004 15:12, Burton M. Strauss III wrote:
> > I don't think so.
> >
> > First off, the rrd's themselves are 'averaged' - they're stored as rates
> > (per second) on long (5 minute) intervals.
> >
> > Second, netFlows increment counters, but the counters are
> accumulated until
> > the various intervals expire for calculating 2nd order items such as
> > throughput.
> >
> > Read through handleV5Flow() in plugins/netFlowPlugin.c - follow
> the calls
> > to updateTrafficMatrix() and updatePacketCount() - ultimately all that's
> > done with netFlow input is calls to incrementTrafficCounter().
> The two key
> > items,   numPkts  = ntohl(record->dPkts); and len
> > =(Counter)ntohl(record->dOctets); are pulled out of the flow.
> >
> > So - unless your netFlow collector is averaging over very long periods -
> > minutes or hours - whether you report 10 flows of 1 packet or 1
> flow of 10
> > packets it's the same.
> >
> > (Internally, netFlow and sFlow are different - netFlow directly counts
> > things, sFlow builds a fake packet and injects it into processPacket()).
> >
> > -----Burton
> >
> > > -----Original Message-----
> > > From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Behalf
> > > Of Markus Rehbach
> > > Sent: Saturday, February 28, 2004 10:54 AM
> > > To: [EMAIL PROTECTED]
> > > Subject: Re: [Ntop-dev] values in upToXYZPkts RRD graphs are too low
> > > (about factor 10) (QDA9WTB?)
> > >
> > >
> > > The frequency matters. Consider the case where a Netflow Emitter
> > > is sending a
> > > Netflow packet for every 'raw' packet it received. The value of
> > > the packet
> > > field in the netflow packet equals the packet size and is
> 100% correct.
> > > Making the sampling time longer you will alway get the packet
> > > size (packets/
> > > bytes) averaged.
> >
> > _______________________________________________
> > Ntop-dev mailing list
> > [EMAIL PROTECTED]
> > http://listgateway.unipi.it/mailman/listinfo/ntop-dev
>
> _______________________________________________
> Ntop-dev mailing list
> [EMAIL PROTECTED]
> http://listgateway.unipi.it/mailman/listinfo/ntop-dev
>

_______________________________________________
Ntop-dev mailing list
[EMAIL PROTECTED]
http://listgateway.unipi.it/mailman/listinfo/ntop-dev

Reply via email to