Merged in elyrith/check_temp (pull request #3)
This commit is contained in:
commit
95a7d33142
@ -24,12 +24,18 @@
|
|||||||
# #
|
# #
|
||||||
# Nagios plugin to monitor CPU and M/B temperature with sensors. #
|
# Nagios plugin to monitor CPU and M/B temperature with sensors. #
|
||||||
# Written in Bash (and uses sed & awk). #
|
# Written in Bash (and uses sed & awk). #
|
||||||
# Version 0.2: Line 98, fixed the missing "-n" option (Thanks to Chad who #
|
# Version 0.2: Line 103, fixed the missing "-n" option (Thanks to Chad who #
|
||||||
# pointed this out for me). Also added a "shopt -s extglob". (Thx to Chad) #
|
# pointed this out for me). Also added a "shopt -s extglob". (Thx to Chad) #
|
||||||
# Version 0.5: Line 162, fixed a typo (EXIT_UNKNOWN to STATE_UNKNOWN) #
|
# Version 0.5: Line 168, fixed a typo (EXIT_UNKNOWN to STATE_UNKNOWN) #
|
||||||
|
# Version 0.7: #
|
||||||
|
# Line 193, modified sensor parsing to cut after the first '+' since all #
|
||||||
|
# positive temperatures are preceded by a '+' #
|
||||||
|
# Line 211, reduced "verbosity" needed to see verbose info (was 2: -v -v) #
|
||||||
|
# Line 229-232, now checks to see if no sensor data was found and #
|
||||||
|
# exits with STATE_UNKNOWN #
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
VERSION="Version 0.6"
|
VERSION="Version 0.7"
|
||||||
AUTHOR="(c) 2011 Jack-Benny Persson (jack-benny@cyberinfo.se)"
|
AUTHOR="(c) 2011 Jack-Benny Persson (jack-benny@cyberinfo.se)"
|
||||||
|
|
||||||
# Sensor program
|
# Sensor program
|
||||||
@ -56,7 +62,7 @@ print_help()
|
|||||||
{
|
{
|
||||||
print_version
|
print_version
|
||||||
printf "$AUTHOR\n"
|
printf "$AUTHOR\n"
|
||||||
printf "Monitor temperatur with the use of sensors\n"
|
printf "Monitor temperature with the use of sensors\n"
|
||||||
/bin/cat <<EOT
|
/bin/cat <<EOT
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
@ -184,10 +190,10 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
#Get the temperature
|
#Get the temperature
|
||||||
TEMP=`${SENSORPROG} | grep "$sensor Temp" | awk '{print $3}' | cut -c2-3`
|
TEMP=`${SENSORPROG} | grep "$sensor" | cut -d+ -f2 | cut -c1-2 `
|
||||||
|
|
||||||
|
|
||||||
# Check if the tresholds has been set correctly
|
# Check if the thresholds have been set correctly
|
||||||
if [[ -z "$thresh_warn" || -z "$thresh_crit" ]]; then
|
if [[ -z "$thresh_warn" || -z "$thresh_crit" ]]; then
|
||||||
# One or both thresholds were not specified
|
# One or both thresholds were not specified
|
||||||
printf "\nThreshold not set"
|
printf "\nThreshold not set"
|
||||||
@ -202,7 +208,7 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
# Verbose output
|
# Verbose output
|
||||||
if [[ "$verbosity" -ge 2 ]]; then
|
if [[ "$verbosity" -ge 1 ]]; then
|
||||||
/bin/cat <<__EOT
|
/bin/cat <<__EOT
|
||||||
Debugging information:
|
Debugging information:
|
||||||
Warning threshold: $thresh_warn
|
Warning threshold: $thresh_warn
|
||||||
@ -211,7 +217,7 @@ Debugging information:
|
|||||||
Current $sensor temperature: $TEMP
|
Current $sensor temperature: $TEMP
|
||||||
__EOT
|
__EOT
|
||||||
printf "\n Temperature lines directly from sensors:\n"
|
printf "\n Temperature lines directly from sensors:\n"
|
||||||
${SENSORPROG} | grep "Temp"
|
${SENSORPROG}
|
||||||
printf "\n\n"
|
printf "\n\n"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -220,7 +226,12 @@ PERFDATA=`${SENSORPROG} | grep "$sensor"`
|
|||||||
|
|
||||||
|
|
||||||
# And finally check the temperature against our thresholds
|
# And finally check the temperature against our thresholds
|
||||||
if [[ "$TEMP" -gt "$thresh_crit" ]]; then
|
if [[ "$TEMP" != +([0-9]) ]]; then
|
||||||
|
# Temperature not found for that sensor
|
||||||
|
printf "No data found for that sensor ($sensor)\n"
|
||||||
|
exit $STATE_UNKNOWN
|
||||||
|
|
||||||
|
elif [[ "$TEMP" -gt "$thresh_crit" ]]; then
|
||||||
# Temperature is above critical threshold
|
# Temperature is above critical threshold
|
||||||
echo "$sensor CRITICAL - Temperature is $TEMP | $PERFDATA"
|
echo "$sensor CRITICAL - Temperature is $TEMP | $PERFDATA"
|
||||||
exit $STATE_CRITICAL
|
exit $STATE_CRITICAL
|
||||||
|
Loading…
x
Reference in New Issue
Block a user