[Nagiosplug-devel] First Post - check_smb
Cal Evans
cal at calevans.com
Fri Jul 5 07:33:10 CEST 2002
This is a script I put together to monitor samba. Since I already monitored
the disk usage check_smb_disk wasn't of much use. So I put this one
together. I hope it's useful to someone other than myself. Please be kind,
it's my first nagios plugin.
=C=
*
* Cal Evans
* The Virtual CIO
* http://www.calevans.com
*
---
#!/bin/bash
#
# Program : check_smb
# :
# Author : Cal Evans <cal at calevans.com>
# :
# Purpose : Nagios plugin to return the number of users logged into a smb
# : server and the number of files open.
# :
# Parameters : --help
# : --version
# :
# Returns : Standard Nagios status_* codes as defined in utils.sh
# :
# Notes :
#============:==============================================================
==
# 1.0 : 06/27/2002
# : Initial coding
# :
# 1.1 : 06/28/2002
# : Re-wrote the user counter to match the file-lock counter.
# :
#
# Shamelessly stolen from other Nagios plugins.
#
PROGNAME=`/usr/bin/basename $0`
PROGPATH=`echo $0 | /bin/sed -e 's,[\\/][^\\/][^\\/]*$,,'`
REVISION=`echo '$Revision: 1.1 $' | sed -e 's/[^0-9.]//g'`
. $PROGPATH/utils.sh
print_usage() {
echo "Usage: $PROGNAME --help"
echo "Usage: $PROGNAME --version"
}
print_help() {
print_revision $PROGNAME $REVISION
echo ""
print_usage
echo ""
echo "Samba status check."
echo ""
support
}
# No command line arguments are required for this script. We accept only 2,
# --help and --version. If more than 1 is passed in then we have an error
# condition.
if [ $# -gt 1 ]; then
print_usage
exit $STATE_UNKNOWN
fi
#
# If we have arguments, process them.
#
exitstatus=$STATE_WARNING #default
while test -n "$1"; do
case "$1" in
--help)
print_help
exit $STATE_OK
;;
-h)
print_help
exit $STATE_OK
;;
--version)
print_revision $PROGNAME $REVISION
exit $STATE_OK
;;
-V)
print_revision $PROGNAME $REVISION
exit $STATE_OK
;;
*)
echo "Unknown argument: $1"
print_usage
exit $STATE_UNKNOWN
;;
esac
shift
done
#
# No arguments. Let's kick this pig.
#
total_users=$(smbstatus -b | grep "^[0-9]" | wc -l)
#
# Ok, now let's grab a count of the files.
#
total_files=$(smbstatus | grep "^[0-9]" | wc -l)
#
# now for the dismount.
#
echo "Total Users:$total_users Total Files:$total_files"
#
# let Nagios know that everything is ok.
#
exit $STATE_OK
More information about the Devel
mailing list