Package: munin Version: 1.2.6-10 Severity: normal The if_ module has problems with large values because it incorrectly tells rrdtool that the maximum size allowed is the interface speed. As the data being pulled from /proc/net/dev is the total number of bytes transferred since boot (modulo overflow), the interface speed is irrelevant. This *breaks* if_ on just about every system, which is particularly insane given that it's such a valuable plugin. On 64bit Linux-based systems (at least 2.6.22 and newer), the counters are 64bit, though obviously this will help even systems which don't have 64bit counters some. Yes, a gigabit interface could overflow a 32bit counter in around 34 seconds, but we don't need to make things worse by telling rrdtool to toss out any values >1GB when it can go up to ~4GB.
if_ should be adjusted accordingly: echo 'down.min 0' echo 'down.max 18446744073709551616' echo 'up.min 0' echo 'up.max 18446744073709551616' With the 'max' settings provided by iwlist/ethtool removed. Perhaps with some adjustment/checking to see if the counter is 64bit or 32bit (if possible..). It might make sense to just always use the 64bit value- I believe rrdtool will figure things out correctly if an overflow happens near the max 32bit value even if the 'max' is set to the 64bit value. This has been submitted upstream at: http://munin.projects.linpro.no/ticket/686 Thanks, Stephen
signature.asc
Description: Digital signature