danfra
Member
OP
- Joined:
- Jun 2024
- Posts:
- 159
- From:
- Frankfurt, DE
1G plan, not 10G. So wrap should be less dramatic but still possible during bursts.
MRTG is running now. I also tcpdumped the SNMP traffic from their poller, they poll every 300s exactly, SNMP v2c, ifHighSpeed for rate but they're using ifHCInOctets/ifHCOutOctets which ARE 64-bit. So the counters themselves aren't wrapping.
But. Their CSV has negative values in some rows where the delta went backwards. They claim "our system accounts for this" but a negative delta in a rate calculation means either:
- Counter reset (reboot, firmware update, NIC bug)
- Their "accounting" subtracts wrong or double-counts
- Two pollers hitting the same target with different offsets
I didn't reboot except March 3. No firmware update. NIC counters didn't reset per vnstat.
Something is fishy in their math layer, not the counter itself.
mitigated 800Gbps before breakfast
armstrongvds
Member
ARM Enjoyer
- Joined:
- Jun 2024
- Posts:
- 199
- From:
- Seoul, KR
ARM Enjoyer Ampere enjoyer. Watts are the real currency.
Their CSV has negative values in some rows
Negative delta with 64-bit counters? That's not wrap, that's corruption or race condition. Two SNMP daemons? Stacked pollers from migration? I've seen Zabbix and Cacti both polling the same device after a DC merger, graphs looked like this.
Your MRTG will help but also check if their poller IP changed mid-month. If they moved monitoring infrastructure, two systems with different counter baselines could produce exactly this: one starts where the other left off, but they merge the series wrong.
Worth asking in ticket: "did your monitoring system change in March?" Don't explain why. See if they volunteer it.
one small ping for man...
YuriDavid
Member
- Joined:
- May 2024
- Posts:
- 174
- From:
- Kyiv, Ukraine
Tabs vs spaces started my divorce
I had similar with local Ukrainian provider, not worth naming. Their "accounting" was counting every packet twice because their mirror port was also in the bridge loop. Took me Wireshark of the mirror to prove it.
Your case sounds like bad math not double counting, but same principle: they built a system, it has bugs, they bill based on it, "authoritative" means "we don't want to look at this."
Kyiv to Nuremberg is decent latency, I use Contabo Nuremberg for some backup stuff. Cheap, you get what you pay for, but 30% overage on cheap base price is not cheap anymore.
Following for MRTG results.
indentation is not optional
danfra
Member
OP
- Joined:
- Jun 2024
- Posts:
- 159
- From:
- Frankfurt, DE
Good point on the mirror. The Pi is on a TP-Link TL-SG108E, mirror config is "both" directions. I'll do a controlled test: scp 100GB from another box, compare MRTG to vnstat to actual file size.
RRDtool handles counter wrap explicitly with COUNTER type, and refuses to store negative rates unless you force it with DERIVE...
This is interesting. Their CSV headers are "timestamp,in_bytes,out_bytes" and the negative values are in the out_bytes delta, not raw counter. So they're computing delta somewhere, maybe not in RRDtool at all, maybe in their billing system directly.
If they compute delta in Python or whatever and don't handle wrap, but also don't handle reset, you could get negatives from either. Then "our system accounts for this" might mean "we ignore negatives" or "we absolute-value them" — both wrong, both would explain overage.
I asked for raw counter values, not deltas. They said "we do not provide this information." Of course.
mitigated 800Gbps before breakfast