Why does an enabled interface in NetVoyant, but shows data in ifstats_poll table?

Document ID : KB000103460
Last Modified Date : 26/06/2018
Show Technical Document Details
Question:
Why does an interface that is enabled on the poller not show data in the views?

Checking in the database, the ifstats_poll contains data for the interface but no data is moved to the ifstats_rate tables.

The first query below shows data for the poll instsance:
mysql nms2
select * from ifstats_poll where pollinst_id='x'; order by tstamp desc limit 5;

The second query will not show any data for the same poll instance in ifstats_rate
mysql> mysql> select * from ifstats_rate where pollinst_id='x' order by tstamp desc limit 5;
Answer:
By default NV checks the data it receives for a few datasets (ifstats is the primary dataset).

If the data is invalid (such as the device reported that it dropped 5000 inbound packets on some interface, but there were only 300 total packets inbound), it *silently* throws that data away.

The way to see if this is happening is to go to the ifstats dataset and change the "datavalidation severity" to something other than 'None'
then watch for events that say "ifstats data validation failed for <some interface>, too many discards for packet count" or something similar in the events view in the NV Console.

The data path for Netvoyant data goes like this:
 1.  Write the current data to the _poll table

 2.  On the next poll, write a new record to the poll table

 3.  Do a delta (difference) between those two values

 4.  Check the data against the data validation rules

 5.  If the data passes those rules, write the delta values to the _rate table
             5b. If the rule doens't pass it throws away the data.
 
 6.  Delete the oldest _poll record for the next pollcycle

 7.  Goto 1.