[CentOS] Network Utilization

Tue Jul 7 08:40:33 UTC 2009
John Doe <jdmls at yahoo.com>

From: "Parsons, Scott" <sparsons at gsihosting.com>
> I'm attempting to create a script that will indicate the % utilization
> of a network interface. I need this to export a one shot output that can
> be called by nagios.
> I've tried the following tools but I was unable to find a way to output
> just the utilization, and just one time: bmon, iftop, ifstat, bwm,
> dstat, rrdtool, iptraf.

Made mine by reading /proc/net/dev and comparing with the values of the previous check saved in a tmp file...
basicaly: ( value - previousvalue ) / time

If you do, watch out for tricky values (each 3 lines are 3 consecutive nagios checks, and the middle lines bug):
No idea why they happen (maybe network driver bug?).

  # null value:
  # eth1:406480423 4248723190     0    0    0     0          0         0 3936994849 1479449504    0    0    0     0       0          0
  # eth1:        0 3869683986 12714    0    0 12714          0  29853042  407203012 1509323306    0    0    0     0       0          0
  # eth1:407977803 4248736776     0    0    0     0          0         0 3956304636 1479465887    0    0    0     0       0          0
  
  # false cycled value:
  # eth1:1616399669 4273106787     0    0    0     0          0        17 1680717193 1514316105    0    0    0     0       0          0
  # eth1:  68966782 1661804061 13218    0    0 13218          0  30344226 1618715737 1544705181   17    0    0     0      17          0
  # eth1:1621560785 4273138758     0    0    0     0          0        17 1735041823 1514359042    0    0    0     0       0          0
  
  # Mega value (32bits=4294967296 max, 64bits=18446744073709551616 max???):
  # Did not find an easy way to handle 64 bits exceptions...
  # So check if bp is realistic (< 100Mb/s on eth1 and 1Gb/s on eth0).
  # eth0:1547646696449        8147061470    0  930    0     0          0          6 4113045092950 8164215117     0    0    0     0       0          0
  # eth0:16615907842663613929 8145771274    0  930    0     0          0 8164237729   17763115100 8165567515 16937    0    0     0   16937          0
  # eth0:1547659651868        8147140907    0  930    0     0          0          6 4113088607337 8164294628     0    0    0     0       0          0

JD