Submit a ticketCall us

Systems Monitoring for Dummies
Our new eBook will teach you the fundamentals and help you create monitors and alerts that are effective, meaningful, and actionable. Monitoring is more than a checkbox on your to-do list. This free eBook will give you practical advice to help you succeed in all aspects of monitoring – discovery, alerting, remediation, and troubleshooting. Don’t miss out on this indispensable resource for newbies, experienced IT pros, and everyone in between. Register Now.

Home > Success Center > Network Performance Monitor (NPM) > SNMP link utilization

SNMP link utilization

Table of contents

 Updated March 11th, 2016


This document describes how to calculate bandwidth use with Simple Network Management Protocol (SNMP).


  • Orion
  • SNMP
  • Interaces reported via SNMP


  1. Obtain two SNMP walks from the device with the interface you want to calculate utilization for.  The time between walks should be long enough for sufficient traffic to flow, in order to make meaningful calculations.  Fifteen minutes is usually a good interval.
  2. Gather the following information from each SNMP walk:
    • sysUpTime (.
    • ifDescr (. where 'x' is the interface index for the interface in question)
    • ifSpeed (.
    • ifInOctets (.
    • ifOutOctets (.
  3. Use the following formula to determine link utilization:
    • SNMP Link Utilization
    • ( ( (ifInOctets from walk 2) - (ifInOctets from walk 1)  + (ifOutOctets from walk 2) - (ifOutOctets from walk 1)) * 8 * 100 ) / ( ( (sysUpTime from walk 2) - (sysUpTime from walk 1) ) * 100 * ifSpeed )
  4. Here is a text version of the formula above:
    1. Subtract ifInOctets1 (first walk) from ifInOctets2 (second walk).  There are times when ifInOctets from the second walk will be a smaller number than ifInOctets from the first walk.  This happens when the counter "rolls over".  In that case, add 4294967295 to ifInOctets2.
    2. Subtract ifOutOctets1 from ifOutOctets2.
    3. Add the value from step 1 to the value from step 2.
    4. Multiply that number by 800.
    5. Subtract sysUpTime1 from sysUpTime2.
    6. Multiply that number by 100, and then by ifSpeed.
    7. Take the value from step 4, and divide it by the value from step 6.  This is your link utilization.


  • Both walks must be run on the same node (do not try to use numbers from each end of the same link).
  • ifSpeed MUST be identical in both walks.
  • sysUpTime MUST be different in both walks.  If the sysUpTime for the second walk it smaller than the sysUpTime in the first walk, then new walks will be needed.  This value can reset when the node is rebooted, or when daemons or services are restarted.  You can estimate this number if new SNMP walks cannot be performed, but your calculations will be off by whatever factor your time estimation is off.
  • The counter you see on the ifInOctets and ifOutOctets lines MUST be identical in both walks.  It will usually be "COUNTER32".



Last modified