Skip to content
Snippets Groups Projects
Select Git revision
  • 5de27def82a160ff357cbd61d0a90b9ac18b0713
  • master default protected
  • simple-task/7248-eol-check-add-node-22
  • 6877_check_iml_deployment
4 results

check_psqlserver

Blame
  • check_ceph_io 1.97 KiB
    #!/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\3#g")
            IO_WRITE=$( echo ${CEPHIO} | cut -f 4,5 -d " " | sed -E "s#([0-9]*) (.).(.).*#\1\2\3#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