hjkhhrteuiluiliuuiluiluiluilrtrt
bnmbertsdfsdfluiluiluiluiluiluiltdfg
/
usr
/
lib64
/
nagios
/
plugins
/
bc
/
Upload FileeE
HOME
#!/bin/bash export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin ####################################################################################################### # Please do not modify this file # # Plese create /usr/lib64/nagios/plugins/bc/load_trigger.txt with updated triggers if necessary. # ####################################################################################################### custom_trigger=/usr/lib64/nagios/plugins/bc/load_trigger.txt; parameter_measured=load; measured_value=$(echo "$(awk '{print $1}' /proc/loadavg)/1" | bc); uptime_days=$(echo "$(awk '{print $1}' /proc/uptime)/(60*60*24)" | bc); display_message="$parameter_measured = $measured_value"; core_count=$(grep -w processor /proc/cpuinfo|wc -l); if [ -f $custom_trigger >/dev/null 2>&1 ] then source $custom_trigger; fi cpu_user=; cpu_nice=; cpu_sys=; cpu_iowait=; cpu_irq=; cpu_soft=; cpu_steal=; cpu_guest=; cpu_gnice=; cpu_idle=; cpu_report=/usr/lib64/nagios/plugins/bc/bc_cpu.txt; field_count=$(tail -2 $cpu_report | head -1 | awk '{ print NF }') while [ $field_count -gt 0 ] do field_name=$( tail -2 $cpu_report | head -1 | awk "{print $"$field_count"}" | sed 's/%//g'); field_value=$( tail -1 $cpu_report | awk "{print $"$field_count"}"); field_count=$(( $field_count - 1 )); if [ $field_name == "usr" ] then cpu_user=$(echo $field_value | bc); elif [ $field_name == "nice" ] then cpu_nice=$(echo $field_value | bc); elif [ $field_name == "sys" ] then cpu_sys=$(echo $field_value | bc); elif [ $field_name == "iowait" ] then cpu_iowait=$(echo $field_value | bc); elif [ $field_name == "irq" ] then cpu_irq=$(echo $field_value | bc); elif [ $field_name == "soft" ] then cpu_soft=$(echo $field_value | bc); elif [ $field_name == "steal" ] then cpu_steal=$(echo $field_value | bc); elif [ $field_name == "guest" ] then cpu_guest=$(echo $field_value | bc); elif [ $field_name == "gnice" ] then cpu_gnice=$(echo $field_value | bc); elif [ $field_name == "idle" ] then cpu_idle=$(echo $field_value | bc); fi done cpu_usage_percentage=$( echo "100 - $cpu_idle" | bc ); if [ $core_count -lt 4 ] then critical_trigger_value=$(( $core_count + 1 )); elif [ $core_count -lt 8 ] then critical_trigger_value=$(( $core_count + 2 )); elif [ $core_count -lt 16 ] then critical_trigger_value=$(( $core_count + 3 )); elif [ $core_count -lt 32 ] then critical_trigger_value=$(( $core_count + 4 )); elif [ $core_count -lt 64 ] then critical_trigger_value=$(( $core_count + 5 )); elif [ $core_count -ge 64 ] then critical_trigger_value=$(( $core_count + 6 )); fi print_perf_labels() { if [ ! -z $cpu_user >/dev/null 2>&1 ] then printf "cpu_user=$cpu_user;;;; "; fi if [ ! -z $cpu_nice >/dev/null 2>&1 ] then printf "cpu_nice=$cpu_nice;;;; " fi if [ ! -z $cpu_sys >/dev/null 2>&1 ] then printf "cpu_sys=$cpu_sys;;;; " fi if [ ! -z $cpu_iowait >/dev/null 2>&1 ] then printf "cpu_iowait=$cpu_iowait;;;; " fi if [ ! -z $cpu_irq >/dev/null 2>&1 ] then printf "cpu_irq=$cpu_irq;;;; " fi if [ ! -z $cpu_soft >/dev/null 2>&1 ] then printf "cpu_soft=$cpu_soft;;;; " fi if [ ! -z $cpu_steal >/dev/null 2>&1 ] then printf "cpu_steal=$cpu_steal;;;; " fi if [ ! -z $cpu_guest >/dev/null 2>&1 ] then printf "cpu_guest=$cpu_guest;;;; " fi if [ ! -z $cpu_gnice >/dev/null 2>&1 ] then printf "cpu_gnice=$cpu_gnice;;;; " fi if [ ! -z $cpu_idle >/dev/null 2>&1 ] then printf "cpu_idle=$cpu_idle;;;; " fi if [ ! -z $uptime_days >/dev/null 2>&1 ] then printf "uptime_days=$uptime_days"d";;;; " fi } which bc >/dev/null 2>&1 if [ $? -eq 0 ] then which mpstat >/dev/null 2>&1 if [ $? -eq 0 ] then if [ $measured_value -gt $critical_trigger_value ] then printf "$parameter_measured CRITICAL - $display_message" printf '|' printf "$parameter_measured=$measured_value;;;; "; echo -n "cpu_usage_percentage=$cpu_usage_percentage%;;;; "; print_perf_labels; exit 2; else printf "$parameter_measured OK - $display_message" printf '|' printf "$parameter_measured=$measured_value;;;; "; echo -n "cpu_usage_percentage=$cpu_usage_percentage%;;;; "; print_perf_labels; exit 0; fi else printf "$parameter_measured CRITICAL - mpstat command required for monitoring is missing" printf '|' printf "$parameter_measured=0;;;; "; echo -n "cpu_usage_percentage=$cpu_usage_percentage%;;;; "; print_perf_labels; exit 2; fi else printf "$parameter_measured CRITICAL - bc command required for monitoring is missing" printf '|' printf "$parameter_measured=0;;;; "; echo -n "cpu_usage_percentage=$cpu_usage_percentage%;;;; "; print_perf_labels; exit 2; fi