Skip navigation
4525 Views 5 Replies Latest reply: Dec 24, 2011 1:19 PM by Shane Scott RSS
johnnynoc Rank: Green Belt 102 posts since
Jan 25, 2011
Currently Being Moderated

Dec 15, 2011 4:49 PM

Interface utilization over 100%

Hello Zenoss-Users,

 

I regularly see high utilization alerts over 100% on some interfaces and haven't been able to determine why.   I'm hoping someone here could help me figure it out.

 

The device in question is using the ethernetCsmacd_64 template and is running CentOS 5.5.

 

I've confirmed the interface speed is set on this interface (1G):

1000000000
Here is the message in the alert:  threshold of high utilization exceeded: current value 148319948.38
Here is the summary of the alert:  High Utilization: Currently (1.19 Gbps) or 118.66% is being used.
And here's the transform being used for /Perf/Interface:

import re

 

 

fs_id = device.prepId(evt.component)

for f in device.os.interfaces():

   if f.id != fs_id: continue

 

   # Extract the percent and utilization from the summary

   m = re.search("threshold of [^:]+: current value ([\d\.]+)", evt.message)

   if not m: continue

   currentusage = (float(m.groups()[0])) * 8

   if f.speed == 0: continue

   p = (currentusage / f.speed) * 100

   evtKey = evt.eventKey

   evtNewKey = ""

 

 

   # Whether Input or Output Traffic

   if evtKey == "ifInOctets_ifInOctets|high utilization":

       evtNewKey = "Input"

   elif evtKey == "ifOutOctets_ifOutOctets|high utilization":

       evtNewKey = "Output"

 

 

   # Check the speed to determine the appropriate conversion

   # Gbps utilization

   if currentusage > 1000000000:

       Usage = currentusage / 1000000000

       evt.summary = "High " + evtNewKey + " Utilization: Currently (%3.2f Gbps) or %3.2f%% is being used." %  (Usage, p)

 

 

   # Mbps utilization

   elif currentusage > 1000000:

       Usage = currentusage / 1000000

       evt.summary = "High " + evtNewKey + " Utilization: Currently (%3.2f Mbps) or %3.2f%%  is being used." %  (Usage, p)

 

 

   # Kbps utilization

   elif currentusage > 1000:

       Usage = currentusage / 1000

       evt.summary = "High " + evtNewKey + " Utilization: Currently (%3.2f Kbps) or %3.2f%%  is being used." %  (Usage, p)

 

 

   # bps  utilization

   elif currentusage < 1000:

       Usage = currentusage

       evt.summary = "High " + evtNewKey + " Utilization: Currently (%3.2f bps) or %3.2f%%  is being used." %  (Usage, p)

   break

 

Any suggestions on what to look into?  I'm assuming the problem exists with the value I'm getting as this transform seems to be standard.
As always, thanks in advance!
John

 

More Like This

  • Retrieving data ...

Legend

  • Correct Answers - 4 points
  • Helpful Answers - 2 points