diff --git a/check_ceph_io b/check_ceph_io new file mode 100755 index 0000000000000000000000000000000000000000..e591b4f35a45d5986ef4432ff9bbd1661d1e9846 --- /dev/null +++ b/check_ceph_io @@ -0,0 +1,82 @@ +#!/bin/bash +# ====================================================================== +# +# Icinga/ Nagios Check +# CEPH IO (from "ceph status") +# +# ---------------------------------------------------------------------- +# +# REQUIREMENTS: +# - ceph and sudo permissions on it +# +# SYNTAX: +# - check_ceph_io +# No parameter required +# +# ---------------------------------------------------------------------- +# 2023-05-09 v1.0 <axel.hahn@unibe.ch> +# ====================================================================== + +. $(dirname $0)/inc_pluginfunctions + +self_APPNAME=$( basename $0 | tr [:lower:] [:upper:] ) +self_APPVERSION=1.0 + +function showHelp(){ +cat <<EOF +______________________________________________________________________ + +$self_APPNAME +v$self_APPVERSION + +(c) Institute for Medical Education - University of Bern +Licence: GNU GPL 3 +______________________________________________________________________ + +Show cheph IO as read and written bytes per second. +This check sends performance data. + +SYNTAX: +$(basename $0) + +OPTIONS: + -h or --help show this help. + +EOF +} + +# --- check param -h +case "$1" in + "--help"|"-h") + showHelp + exit 0 + ;; + *) +esac + +# --- check required tools +ph.require ceph + +CEPHIO=$( sudo ceph status 2>/dev/null | grep "client:.* rd,.* wr," | cut -f 2 -d ":" ) +# CEPHIO="8.9 KiB/s rd, 887 KiB/s wr, 138 op/s rd, 140 op/s wr" + +if [ -z "${CEPHIO}" ]; then + ph.setStatus "unknown" + ph.status "no data" + echo "There is no output from 'sudo ceph status'." + echo "No ceph here or no sudo permissions on ceph command?" +else + + IO_READ=$( echo ${CEPHIO} | cut -f 1,2 -d " " | sed -E "s#([0-9]*) (.).*#\1\2#g") + IO_WRITE=$( echo ${CEPHIO} | cut -f 4,5 -d " " | sed -E "s#([0-9]*) (.).*#\1\2#g") + ph.status "$CEPHIO" + + # echo "read: $IO_READ" + # echo "write: $IO_WRITE" + + ph.perfadd "cephio-read" "$IO_READ" "" "" + ph.perfadd "cephio-write" "$IO_WRITE" "" "" + +fi + +ph.exit \ No newline at end of file