Aggregated traffic level from SNMP data

I have aggregated values from a 100gbps ring we run using the following

SELECT non_negative_derivative(sum("ifHCInOctets"), 1s) *8 FROM "snmp" WHERE ("ifAlias" =~ /100g-core/) AND $timeFilter GROUP BY time(1m)

The problem I have, is if a SNMP poll is missed from a device for a period of time, even just 1 poll, the data on the next poll is very large, so it creates a huge spike and makes the graph unreadable. See this example when I zoom out (to 1hr) from the above image (30m)…

What can I do to ensure this doesn’t happen?

Many thanks in advance

One other thing, even with no missed values, I get a spike in the beginning of the graph every few minutes like this…

Put y-axis in logscale instead of linear scale.