
VMWare
Check snapshots age and number
Description:
Nagios script for checking the number of existing snapshots and how old are these.
Current Version
Last Release Date
2014-05-19
Compatible With
- Nagios 4.x
Owner
License
GPL
Project Files
File | Description |
---|---|
check_VM_snapshots | check_VM_snapshots |
Project Notes
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
(5)
Add a Review
I tried it on esxi 6.5 nodes and it works successfully.
As per instructions, it is necessary to configure a ssh certificate in order to allow the connection from the nagios server to the esxi nodes.
It only checks if snapshots are present, and it is not possible to filter the checked VMs.
As per instructions, it is necessary to configure a ssh certificate in order to allow the connection from the nagios server to the esxi nodes.
It only checks if snapshots are present, and it is not possible to filter the checked VMs.
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
#!/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
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
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.
Page Sections
Project Stats
Rating
4.4 (7)
Favorites
0
Views
30,122