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

Login

Remember Me

Check snapshots age and number

Rating
3 votes
Favoured:
0
Last Release Date
2014-05-19
Compatible With
  • Nagios 4.x
Owner
License
GPL
Hits
21737
Files:
FileDescription
check_VM_snapshotscheck_VM_snapshots
Network Monitoring Software - Download Nagios XI
Log Management Software - Nagios Log Server - Download
Netflow Analysis Software - Nagios Network Analyzer - Download
Nagios script for checking the number of existing snapshots and how old are these.

The script was inspired by "minuti_keytech"'s script check_esx_snapshot.

Usage: $0 [esxi_hostname] [warn] [crit] [snapage]
where [warn] and [crit] are the allowed numbers of snapshots and [snapage] is how old a snapshot is allowed to be.
Reviews (3)
bylehab, February 25, 2016
I have ESXi 5.5. If i run this script in console it works great. But in nagios it is always OK status, even i have critical value. What can i do, to fix this?
btw - the script is also compatible with esxi 5.x

#!/bin/bash
# Author Stefan Nonchev
# Nagios script for checking the number of existing snapshots and how old are these.
# The script should work with any ESXi 5.x
# Installation notes:
# On your nagios server execute:
#
# #sudo nagios
# #ssh-keygen
# copy the public certificate into /etc/ssh/keys-root/authorized_keys on each ESXi host that will be monitored

debug=1
sshparameter=""


print_usage() {
echo ""
echo "Usage: $0 [esxi_hostname] [warn] [crit] [snapage]"
echo "where"
echo "- [warn] and [crit] are the allowed numbers of all snapshots (summarized)"
echo "- [snapage] is how old a snapshot is allowed to be (days)"
exit 3
}


case "$1" in
--help)
print_usage
;;
-h)
print_usage
;;
esac

if [ "$#" -ne "4" ]; then
print_usage
fi

function date2stamp () {
date --utc --date "$1" +%s
}

function dateDiff () {
sec=86400
dte1=$(date2stamp $1)
dte2=$(date2stamp $2)
diffSec=$((dte2-dte1))
if ((diffSec $4 days ) snapshots on: $vmstr"
exit 2
fi

if [ $total -le $warn ] ; then
echo "OK - $total snapshots found (warn=$warn)"
exit 0
fi

if [ $total -ge $crit ] ; then
echo "CRITICAL - $total snapshots found (crit=$crit)"
exit 2
fi

if [ $total -ge $warn ] ; then
echo "WARN - $total snapshots found (warn=$warn)"
exit 1
fi
bycaramia, August 26, 2014
Hi, i'm tring to use your plugin but i can't embed my credential on check command, also if i use it from cli on nagios server il stuck on password.
I'm wrong in the syntax?

./check_VM_snapshots 172.17.85.1 10 20 10

thanks
Owner's reply

Hi, sorry for the late reply mate.
If you are able to ssh successfully from nagios to ESXi server without prompting you for a password - the script should work. I'm not using any passwords to run the script in my environment. I guess you have to google how to configure ssh without using a password.