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


Remember Me

Directory Tree


1 vote
Last Release Date
Compatible With
  • Nagios 3.x
FileDescription script
Network Monitoring Software - Download Nagios XI
Log Management Software - Nagios Log Server - Download
Netflow Analysis Software - Nagios Network Analyzer - Download
This check will probe for Cisco IP SLAs.
(Tested on IOS 12.4T release)
This check will probe for Cisco IP SLAs.
(Tested on IOS 12.4T release)

For now it only accepts the "-i ALL" argument and it will list and check for all IP SLAs configured on the router.

Return code will be 0 if all probes have completed successfully.
Return code will be 2 if one probe failed

Additionally, performance data is retrieved, as the total time it took to run all IP SLAs. The multi-line output will display the run time of each IP SLA.

On the router side of it, IP SLAs must be configured with a TAG, as follows:

ip sla 1
dns name-server
tag DNS_Google
frequency 300

ip sla 2
http get name-server cache disable
tag HTTP_Google
frequency 300

ip sla group schedule 1 1-2 schedule-period 300 frequency 300 start-time now life forever

Sample output:
$./ -c public-H -i ALL
IP SLA status: OK | Total-Time=120
IP SLA 1 # DNS_Google ( dns ) status: OK
IP SLA 2 # HTTP_Google ( http ) status: OK | DNS_Google=17

There's a lot more to do with IP SLAs; feel free to update this script, based on an old "check_snmp_if" or something close to that.

Enjoy it ;-))
Reviews (1)
bynagiosloom, June 23, 2015
1 of 1 people found this review helpful
I am using this plugin with IP SLA on the core switches at my customer sites to check that all internet connections remain up.

One glitch I noticed was that if the SNMP queries fail then the plugin may still return an OK status code. I fixed this issue by checking at the start of the "Output Phase" that the rtt_status hash is not empty:

if (! %rtt_status ) {
print "No SLA query returned a status.";
print "So returning CRITICAL status code.";