diff options
Diffstat (limited to 'plugins-scripts')
-rwxr-xr-x | plugins-scripts/check_oracle.sh | 15 | ||||
-rwxr-xr-x | plugins-scripts/check_sensors.sh | 33 | ||||
-rw-r--r-- | plugins-scripts/utils.sh.in | 11 |
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 | ;; |
68 | esac | 71 | esac |
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 | # |
28 | check_range() { | 37 | check_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 |