Skip to content
Snippets Groups Projects
Commit 470798e2 authored by Hahn Axel (hahn)'s avatar Hahn Axel (hahn)
Browse files

Merge branch 'update-docs' into 'master'

ceph osd: add help and param support; no tmpfile

See merge request !119
parents a677739b fd40e9e1
No related branches found
No related tags found
1 merge request!119ceph osd: add help and param support; no tmpfile
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# #
# REQUIREMENTS: # REQUIREMENTS:
# - ceph # - sudo permissions on ceph command
# #
# SYNTAX: # SYNTAX:
# - check_ceph_status -w [count for warnming] -w [count for critical] # - check_ceph_status -w [count for warnming] -w [count for critical]
...@@ -25,28 +25,77 @@ ...@@ -25,28 +25,77 @@
# 2020-03-05 v1.2 <axel.hahn@iml.unibe.ch> switch to ph.* helper functions # 2020-03-05 v1.2 <axel.hahn@iml.unibe.ch> switch to ph.* helper functions
# 2022-10-21 v1.3 <axel.hahn@unibe.ch> remove grep: warning: stray \ before white space # 2022-10-21 v1.3 <axel.hahn@unibe.ch> remove grep: warning: stray \ before white space
# 2023-04-24 v1.4 <axel.hahn@unibe.ch> update for newer ceph versions # 2023-04-24 v1.4 <axel.hahn@unibe.ch> update for newer ceph versions
# 2023-06-19 v1.5 <axel.hahn@unibe.ch> add help and param support; no more tmpfile
# ====================================================================== # ======================================================================
. $(dirname $0)/inc_pluginfunctions . $(dirname $0)/inc_pluginfunctions
tmpfile=/tmp/ceph_status_output_$$ self_APPNAME=$( basename $0 | tr [:lower:] [:upper:] )
self_APPVERSION=1.5
# column number in output where to find the up/ down info
iColUpDown=5 iColUpDown=5
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# FUNCTIONS # FUNCTIONS
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
function showHelp(){
_self=$(basename $0)
cat <<EOF
______________________________________________________________________
$self_APPNAME
v$self_APPVERSION
(c) Institute for Medical Education - University of Bern
Licence: GNU GPL 3
______________________________________________________________________
Show cheph osd status: how many OSDs exist and how many are up/ down.
This check sends performance data.
On your cluster you might want to increase the values for warning and
critical level.
SYNTAX:
$_self [-w WARN_LIMIT] [-c CRITICAL_LIMIT]
OPTIONS:
-h or --help show this help.
-w VALUE warning level (default: 1)
-c VALUE critical level (default: 2)
EXAMPLE:
$_self
no parameters; normal usage to get the ceph osd status
$_self -c 10
change to critical level if 10 osds are down.
EOF
}
# fetch lines of OSD entries only from output of ceph osd tree # fetch lines of OSD entries only from output of ceph osd tree
# global string data output of command ceph osd tree
function getOsd(){ function getOsd(){
grep "^ *[0-9]" $tmpfile grep "^ *[0-9]" <<< "$data"
} }
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# MAIN # MAIN
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
sudo /bin/ceph osd tree > $tmpfile 2>&1 # --- check param -h
case "$1" in
"--help"|"-h")
showHelp
exit 0
;;
*)
esac
data=$( sudo /bin/ceph osd tree 2>&1 )
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
rm -f $tmpfile
ph.abort "UNKNOWN: ceph is not available or no sudo permissions to execute ceph commands." ph.abort "UNKNOWN: ceph is not available or no sudo permissions to execute ceph commands."
fi fi
...@@ -70,9 +119,7 @@ else ...@@ -70,9 +119,7 @@ else
fi fi
ph.status "Check of available OSDs - $iOsdTotal OSDs total .. $iOsdUp up .. $iOsdDown down (Limits: warn at $iWarnLimit; critical $iCriticalLimit)" ph.status "Check of available OSDs - $iOsdTotal OSDs total .. $iOsdUp up .. $iOsdDown down (Limits: warn at $iWarnLimit; critical $iCriticalLimit)"
cat $tmpfile echo "$data"
rm -f $tmpfile
ph.perfadd "osd-total" "${iOsdTotal}" "" "" 0 ${iOsdTotal} ph.perfadd "osd-total" "${iOsdTotal}" "" "" 0 ${iOsdTotal}
ph.perfadd "osd-up" "${iOsdUp}" "" "" 0 ${iOsdTotal} ph.perfadd "osd-up" "${iOsdUp}" "" "" 0 ${iOsdTotal}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment