#!/usr/bin/perl -w # Usage ./check-k8temp # # This relies upon having lm_sensors installed, configured and running # It will only work with the k8temp module and with a single core CPU # For anything else, you'll need to change the code use strict; my $OK=0; my $WARNING=1; my $CRITICAL=2; my $UNKNOWN=3; if (!($ARGV[0] && $ARGV[1])) { print "UNKNOWN"; exit $UNKNOWN; } my $warn = $ARGV[0]; my $crit = $ARGV[1]; my $return = `sensors k8temp-pci-00c3 | grep Core0 | awk '{ print \$3 }'`; $return =~ s/[^0-9.]//g; $return = int($return); if ($return < $warn) { # OK print "OK: CPU temperature $return C | temperature=$return;$warn;$crit"; exit $OK; } elsif (($return >= $warn) && ($return < $crit)) { # WARNING print "WARNING: CPU temperature $return C | temperature=$return;$warn;$crit"; exit $WARNING; } elsif ($return >= $crit) { # CRITICAL print "CRITICAL: CPU temperature $return C | temperature=$return;$warn;$crit"; exit $CRITICAL; } else { # UNKNOWN print "UNKNOWN"; exit $UNKNOWN; }