Home Directory Plugins Network Connections, Stats and Bandwidth Monitoring Interface Bandwidth Utilization Using Cacti Data

Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1
Email: sales@nagios.com


Remember Me

Monitoring Interface Bandwidth Utilization Using Cacti Data

0 votes
Current Version
Last Release Date
Compatible With
  • Nagios 3.x
check_port_saturation.pyPython 2.7 Plugin for Nagios3

Help Support Ethan Galstad's New Project:

Help Support Ethan

A Message From The Founder...

As the founder of Nagios, I'm asking for your help in a cause that's dear to my heart.

I'm launching a new project to help better the world by providing the information, ideas, and inspiration that I believe can improve the lives of people everywhere.

I know you're busy managing networks, but I would appreciate it if you would consider liking my Facebook page and showing your support for the content and messages I produce by sharing them with your friends and family.

You can learn more about my project by visiting ethangalstad.me/nagios. Thank you for your time. I wish you all the best in your endeavors, whatever they may be.

- Ethan

This Python plugin will alert when the average bandwidth utilization of a network interface exceeds the configured thresholds. It uses data that is already being captured on a remote (or local) Cacti server rather than storing data in a local database. Max Speed for an interface is found via SNMP.

In order for this plug-in to work you need to map Cacti Graph ID's to the SNMP IfIndex value of the device you are monitoring. Instructions and a script for easily generating this map can be found on my website.

Plugin Usage:

check_port_saturation.py -H HOST -g GRAPH_ID [-s CACTI_SERVER] [-c CRIT] [-w WARN] [-V {1,2,3}] [-C SNMP_COM] -i IF_INDEX

('-H', '--host', required=True,
help='Host we are checking')
('-C', '--snmp_com', default='public', required=True,
help='SNMP community')
('-V', '--snmp_ver', type=int, default=2, choices=[1, 2, 3],
help='SNMP version')
('-g', '--graph_id', required=True,
help='Cacti graph id')
('-s', '--cacti_server', required=True,
help='Cacti server hostname')
('-c', '--crit', default=90, type=int,
help='critical saturation level in %')
('-w', '--warn', default=80, type=int,
help='warning saturation level in %')
('-i', '--if_index', required=True,
help='ifIndex value for snmp')

Example of running from command line:

porter@nagios:~$ ./check_port_saturation.py -g 23822 -s netprobe -H dist1 -i 369098807 -C public
SUCCESS: Avg_In= 1405.02 Mbps and Avg_Out= 777.29 Mbps