Build precise queries to find exactly what you need
Press ESC to close
Your review has been submitted and is pending approval.
This Plugin allows to check disk utilization on hard disks. It uses iostat -x. Examples: check_disk_util -w 80 -c 90 -d sda Checks /dev/sda* at 80% and 90% of disk utilization OK: sda disk utilization 2.52% OK: sda1 disk utilization 0.00% OK: sda2 disk utilization 1.31% OK: sda3 disk utilization 1.52% OK: sda4 disk utilization 0.05%
Current Version
0.1 Gamma "Hulk state"
Last Release Date
2014-06-10
Owner
Esteban Monge
License
BSD
Compatible With
#!/bin/bash # ---------------------------------------------------- # # File : check_disk_util.sh # Author : Esteban Monge # Email : [email protected] # Date : 10/06/2014 # Version: 0.1 Gamma "Hulk state" # ---------------------------------------------------- # device="" warning=80 critical=90 was_warning="" was_critical="" function help { echo "Usage" echo "check_disk {-w limit -c limit -d device}" echo "Options:" echo "-h" echo " Print detailed help screen" echo "-w=INTEGER" echo " Exit with WARNING status if more than INTEGER percentaje of utilization are used" echo "-c=INTEGER" echo " Exit with CRITICAL status if more than INTEGER percentaje of utilization are used" echo "-d=" echo " Device without complete route" echo " " echo "Example:" echo "check_disk_util -w 80 -c 90 -d sda1" echo " Checks /dev/sda1 at 80% and 90% of disk utilization" echo "check_disk_util -w 80 -c 90 -d sda" echo " Checks /dev/sda1, /dev/sda2, /dev/sda3, etc (regular expression) at 80% and 90% of disk utilization" exit 0 } while getopts "w:c:d:h" args; do case $args in w) warning=$OPTARG ;; c) critical=$OPTARG ;; d) device=$OPTARG ;; h) help ;; esac done if [[ $critical -lt $warning ]];then echo "UNKNOWN: Warning threshold must be lower than Critical threshold" exit 4 fi column_number=`iostat -x | grep -e "Device" | awk '{print NF}'` iostat -x 1 2 |grep -e "$device" | awk -v column=$column_number '/sd|dm/ {print $1,$column}' > /tmp/disk_utili.tmp radek=`cat /tmp/disk_utili.tmp | wc -l` polovina=`echo "$radek / 2 "| bc` cat /tmp/disk_utili.tmp | tail -n $polovina > /tmp/disk_utili1.tmp while read line do device=`echo $line | awk '{print $1}'` disk_util=`echo $line | awk '{print $2}' | cut -d "," -f1 ` if [ ${disk_util%.*} -ge $critical ];then echo "CRITICAL: $device disk utilization $disk_util%" was_critical=1 else if [ ${disk_util%.*} -ge $warning ];then echo "WARNING: $device disk utilization $disk_util%" was_warning=1 else echo "OK: $device disk utilization $disk_util%" fi fi done
You must be logged in to submit a review.
To:
From: