Refactoring: Changed all check parameters starting with an 'o' to the new rulespec...
[check_mk.git] / agents / plugins / hpux_lunstats
blob9391e910721b2037a39cf9f8dd98c28c278384eb
1 #!/usr/bin/ksh
2 # Monitor status of LUNs on HP-UX
3 # +------------------------------------------------------------------+
4 # | ____ _ _ __ __ _ __ |
5 # | / ___| |__ ___ ___| | __ | \/ | |/ / |
6 # | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
7 # | | |___| | | | __/ (__| < | | | | . \ |
8 # | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
9 # | |
10 # | Copyright Mathias Kettner 2014 mk@mathias-kettner.de |
11 # +------------------------------------------------------------------+
13 # This file is part of Check_MK.
14 # The official homepage is at http://mathias-kettner.de/check_mk.
16 # check_mk is free software; you can redistribute it and/or modify it
17 # under the terms of the GNU General Public License as published by
18 # the Free Software Foundation in version 2. check_mk is distributed
19 # in the hope that it will be useful, but WITHOUT ANY WARRANTY; with-
20 # out even the implied warranty of MERCHANTABILITY or FITNESS FOR A
21 # PARTICULAR PURPOSE. See the GNU General Public License for more de-
22 # tails. You should have received a copy of the GNU General Public
23 # License along with GNU Make; see the file COPYING. If not, write
24 # to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
25 # Boston, MA 02110-1301 USA.
27 # Put this file into /usr/lib/check_mk_agent/plugins. Then
28 # reinventorize your host.
29 # Actually querying these stats is quite slow since they freshly update
30 # on each call. If you have a few 1000 luns then this will not work.
32 get_stats()
34 scsimgr get_stat -D $LUN | tr '\=' ':' | grep -e 'STATISTICS FOR LUN' -e 'Bytes' -e 'Total I/Os processed' -e 'I/O failure' -e 'IO failures due
35 to'
36 return $?
40 # Ex:
41 #LUN PATH INFORMATION FOR LUN : /dev/pt/pt2
42 #World Wide Identifier(WWID) =
43 #LUN PATH INFORMATION FOR LUN : /dev/rdisk/disk5
44 #World Wide Identifier(WWID) = 0x60a98000572d44745634645076556357
45 #LUN PATH INFORMATION FOR LUN : /dev/rdisk/disk6
47 get_lun_map()
49 scsimgr lun_map | egrep '^[[:space:]]*(LUN PATH|World Wide Identifier)' | tr '\=' ':'
53 main()
55 get_lun_map | while read line ; do
56 descr=$(echo $line | awk -F: '{print $1}')
57 val=$( echo $line | awk -F: '{print $2}')
58 case $descr in
59 LUN*)
60 if echo $val | grep /dev/rdisk 1>/dev/null; then
61 DMP=yes
62 LUN=$val
63 else
64 DMP=no
65 unset LUN
68 World*)
69 if [ $DMP = "yes" ]; then
70 echo "WWID: $val"
71 get_stats $LUN
75 echo "Fehler:"
76 echo $line
77 echo $descr
78 echo $val
79 sleep 1
81 esac
82 done
87 # Verify the system is using new multipath device model.
88 if [ -d /dev/rdisk ] && [ -d /dev/disk ]; then
89 echo '<<<hpux_lunstats:sep(58)>>>'
90 main