#!/bin/sh # # check_swift_object_servers - Check OpenStack Swift object servers status # # Copyright © 2012 eNovance # # Author: Julien Danjou # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin PROGNAME=`basename $0` REVISION="1.0" STATE_OK=0 STATE_WARNING=1 STATE_CRITICAL=2 STATE_UNKNOWN=3 STATE_DEPENDENT=4 print_usage() { echo "Usage: $PROGNAME" } print_help() { print_usage echo "This plugin checks Swift status using the swift-recon program." exit 0 } case "$1" in --help|-h) print_help exit 0 ;; esac if ! which swift-recon >/dev/null 2>&1 then echo "swift-recon command not found" exit $STATE_UNKNOWN fi CHECK=$(swift-recon --md5 | grep ' error') echo $CHECK if echo "$CHECK" | grep -q ' 0 error' then exit $STATE_OK elif echo "$CHECK" | grep -q ' 1 error' then exit $STATE_WARNING else exit $STATE_CRITICAL fi