summaryrefslogtreecommitdiffstats
path: root/plugins-scripts
diff options
context:
space:
mode:
Diffstat (limited to 'plugins-scripts')
-rwxr-xr-xplugins-scripts/check_oracle.sh15
-rwxr-xr-xplugins-scripts/check_sensors.sh33
-rw-r--r--plugins-scripts/utils.sh.in11
3 files changed, 43 insertions, 16 deletions
diff --git a/plugins-scripts/check_oracle.sh b/plugins-scripts/check_oracle.sh
index 664795e..2a8ab21 100755
--- a/plugins-scripts/check_oracle.sh
+++ b/plugins-scripts/check_oracle.sh
@@ -18,6 +18,7 @@ print_usage() {
18 echo " $PROGNAME --tns <Oracle Sid or Hostname/IP address>" 18 echo " $PROGNAME --tns <Oracle Sid or Hostname/IP address>"
19 echo " $PROGNAME --db <ORACLE_SID>" 19 echo " $PROGNAME --db <ORACLE_SID>"
20 echo " $PROGNAME --login <ORACLE_SID>" 20 echo " $PROGNAME --login <ORACLE_SID>"
21 echo " $PROGNAME --connect <ORACLE_SID>"
21 echo " $PROGNAME --cache <ORACLE_SID> <USER> <PASS> <CRITICAL> <WARNING>" 22 echo " $PROGNAME --cache <ORACLE_SID> <USER> <PASS> <CRITICAL> <WARNING>"
22 echo " $PROGNAME --tablespace <ORACLE_SID> <USER> <PASS> <TABLESPACE> <CRITICAL> <WARNING>" 23 echo " $PROGNAME --tablespace <ORACLE_SID> <USER> <PASS> <TABLESPACE> <CRITICAL> <WARNING>"
23 echo " $PROGNAME --oranames <Hostname>" 24 echo " $PROGNAME --oranames <Hostname>"
@@ -39,6 +40,8 @@ print_help() {
39 echo " filesystem for sgadefORACLE_SID.dbf" 40 echo " filesystem for sgadefORACLE_SID.dbf"
40 echo "--login SID" 41 echo "--login SID"
41 echo " Attempt a dummy login and alert if not ORA-01017: invalid username/password" 42 echo " Attempt a dummy login and alert if not ORA-01017: invalid username/password"
43 echo "--connect SID"
44 echo " Attempt a login and alert if an ORA- error is returned"
42 echo "--cache" 45 echo "--cache"
43 echo " Check local database for library and buffer cache hit ratios" 46 echo " Check local database for library and buffer cache hit ratios"
44 echo " ---> Requires Oracle user/password and SID specified." 47 echo " ---> Requires Oracle user/password and SID specified."
@@ -187,6 +190,18 @@ case "$cmd" in
187 exit $STATE_CRITICAL 190 exit $STATE_CRITICAL
188 fi 191 fi
189 ;; 192 ;;
193--connect)
194 connectchk=`sqlplus $2 < /dev/null`
195 connectchk2=` echo $connectchk | grep -c ORA-`
196 if [ ${connectchk2} -eq 0 ] ; then
197 echo "OK - login successful"
198 exit $STATE_OK
199 else
200 connectchk3=` echo "$connectchk" | grep "ORA-" | head -1`
201 echo "CRITICAL - $connectchk3"
202 exit $STATE_CRITICAL
203 fi
204 ;;
190--cache) 205--cache)
191 if [ ${5} -gt ${6} ] ; then 206 if [ ${5} -gt ${6} ] ; then
192 echo "UNKNOWN - Warning level is less then Crit" 207 echo "UNKNOWN - Warning level is less then Crit"
diff --git a/plugins-scripts/check_sensors.sh b/plugins-scripts/check_sensors.sh
index ffaa974..874e104 100755
--- a/plugins-scripts/check_sensors.sh
+++ b/plugins-scripts/check_sensors.sh
@@ -44,25 +44,28 @@ case "$1" in
44 *) 44 *)
45 sensordata=`sensors 2>&1` 45 sensordata=`sensors 2>&1`
46 status=$? 46 status=$?
47 if test "$1" = "-v" -o "$1" = "--verbose"; then
48 echo ${sensordata}
49 fi
50 if test ${status} -eq 127; then 47 if test ${status} -eq 127; then
51 echo "SENSORS UNKNOWN - command not found (did you install lmsensors?)" 48 text="SENSORS UNKNOWN - command not found (did you install lmsensors?)"
52 exit $STATE_UNKNOWN 49 exit=$STATE_UNKNOWN
53 elif test ${status} -ne 0; then 50 elif test ${status} -ne 0; then
54 echo "WARNING - sensors returned state $status" 51 text="WARNING - sensors returned state $status"
55 exit $STATE_WARNING 52 exit=$STATE_WARNING
56 fi 53 elif echo ${sensordata} | egrep ALARM > /dev/null; then
57 if echo ${sensordata} | egrep ALARM > /dev/null; then 54 text="SENSOR CRITICAL - Sensor alarm detected!"
58 echo SENSOR CRITICAL - Sensor alarm detected! 55 exit=$STATE_CRITICAL
59 exit $STATE_CRITICAL
60 elif echo ${sensordata} | egrep FAULT > /dev/null \ 56 elif echo ${sensordata} | egrep FAULT > /dev/null \
61 && test "$1" != "-i" -a "$1" != "--ignore-fault"; then 57 && test "$1" != "-i" -a "$1" != "--ignore-fault"; then
62 echo SENSOR UNKNOWN - Sensor reported fault 58 text="SENSOR UNKNOWN - Sensor reported fault"
63 exit $STATE_UNKNOWN 59 exit=$STATE_UNKNOWN
60 else
61 text="SENSORS OK"
62 exit=$STATE_OK
64 fi 63 fi
65 echo sensor ok 64
66 exit $STATE_OK 65 echo "$text"
66 if test "$1" = "-v" -o "$1" = "--verbose"; then
67 echo ${sensordata}
68 fi
69 exit $exit
67 ;; 70 ;;
68esac 71esac
diff --git a/plugins-scripts/utils.sh.in b/plugins-scripts/utils.sh.in
index 5fae6ad..4a07df8 100644
--- a/plugins-scripts/utils.sh.in
+++ b/plugins-scripts/utils.sh.in
@@ -23,7 +23,16 @@ support() {
23 23
24# 24#
25# check_range takes a value and a range string, returning successfully if an 25# check_range takes a value and a range string, returning successfully if an
26# alert should be raised based on the range. 26# alert should be raised based on the range. Range values are inclusive.
27# Values may be integers or floats.
28#
29# Example usage:
30#
31# Generating an exit code of 1:
32# check_range 5 2:8
33#
34# Generating an exit code of 0:
35# check_range 1 2:8
27# 36#
28check_range() { 37check_range() {
29 local v range yes no err decimal start end cmp match 38 local v range yes no err decimal start end cmp match