Search Exchange
Search All Sites
Nagios Live Webinars
Let our experts show you how Nagios can help your organization.Login
Directory Tree
check_cisco_ipsla
Meet The New Nagios Core Services Platform
Built on over 25 years of monitoring experience, the Nagios Core Services Platform provides insightful monitoring dashboards, time-saving monitoring wizards, and unmatched ease of use. Use it for free indefinitely.
Monitoring Made Magically Better
- Nagios Core on Overdrive
- Powerful Monitoring Dashboards
- Time-Saving Configuration Wizards
- Open Source Powered Monitoring On Steroids
- And So Much More!
(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 www.google.com name-server 8.8.8.8
tag DNS_Google
frequency 300
ip sla 2
http get http://www.google.com/ name-server 8.8.8.8 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:
$./check_cisco_ipsla.pl -c public-H 10.10.10.10 -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
HTTP_Google=93
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 ;-))
(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 www.google.com name-server 8.8.8.8
tag DNS_Google
frequency 300
ip sla 2
http get http://www.google.com/ name-server 8.8.8.8 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:
$./check_cisco_ipsla.pl -c public-H 10.10.10.10 -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
HTTP_Google=93
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)
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.";
exit(2);
}
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.";
exit(2);
}