Skip to content
Snippets Groups Projects
Commit 6a32351b authored by Peter Eriksson's avatar Peter Eriksson
Browse files

Updated to ignore CD and DVD devices and some other stuff...

parent 790220a7
No related branches found
No related tags found
No related merge requests found
#!/bin/ksh #!/bin/ksh
PATH=/opt/lysator/bin:/usr/bin:/usr/sbin PATH=/usr/bin:/usr/sbin:/opt/lysator/bin:/ifm/sbin:/pkg/gnu/bin
export PATH export PATH
RSH=ssh RSH=ssh
...@@ -16,8 +16,8 @@ HCRIT=4 ...@@ -16,8 +16,8 @@ HCRIT=4
TWARN=1 TWARN=1
TCRIT=3 TCRIT=3
SWARN=5 SWARN=8
SCRIT=10 SCRIT=20
while [ "$1" != "" ]; do while [ "$1" != "" ]; do
case "$1" in case "$1" in
...@@ -105,7 +105,8 @@ exec $CMD | $GAWK -vverbose=$VERBOSE \ ...@@ -105,7 +105,8 @@ exec $CMD | $GAWK -vverbose=$VERBOSE \
'\ '\
BEGIN { gtotal=0; ndisks=0; disks=""; ncrit=0; nwarn=0; crits=""; warns="" } \ BEGIN { gtotal=0; ndisks=0; disks=""; ncrit=0; nwarn=0; crits=""; warns="" } \
/^c[0-9][0-9]*t[0-9][0-9]*d[0-9][0-9]*/ { dev=$1; serr[dev]=$4; herr[dev]=$7; terr[dev]=$10; vendor[dev]=""; pfa[dev]="" } \ /^c[0-9][0-9]*t[0-9][0-9]*d[0-9][0-9]*/ { dev=$1; serr[dev]=$4; herr[dev]=$7; terr[dev]=$10; vendor[dev]=""; pfa[dev]="" } \
/^Vendor:/ { vendor[dev]=$2; product[dev]=$4; rev[dev]=$6; serial[dev]=$9 } \ /^Vendor:/ { vendor[dev]=$2" "; if ($6 ==" Revision:") { product[dev]=$4" "$5; rev[dev]=$7; serial[dev]=$10 } else \
{ product[dev]=$4; rev[dev]=$6; serial[dev]=$9 }} \
/^Model:/ { vendor[dev]=""; product[dev]=$2; rev[dev]=$4; serial[dev]=$7 } \ /^Model:/ { vendor[dev]=""; product[dev]=$2; rev[dev]=$4; serial[dev]=$7 } \
/^Size:/ { size[dev]=$2 } \ /^Size:/ { size[dev]=$2 } \
/^Media/ { merr[dev]=$3; dnrerr[dev]=$7; nderr[dev]=$10; rerr[dev]=$12 } \ /^Media/ { merr[dev]=$3; dnrerr[dev]=$7; nderr[dev]=$10; rerr[dev]=$12 } \
...@@ -113,22 +114,31 @@ exec $CMD | $GAWK -vverbose=$VERBOSE \ ...@@ -113,22 +114,31 @@ exec $CMD | $GAWK -vverbose=$VERBOSE \
irerr[dev]=$3; pfa[dev]=$7; \ irerr[dev]=$3; pfa[dev]=$7; \
total[dev]=serr[dev]+herr[dev]+terr[dev]; total[dev]=serr[dev]+herr[dev]+terr[dev];
if (verbose) \ if (verbose) \
print dev, "(" product[dev], rev[dev] ")", ":", total[dev], ":", serr[dev], herr[dev], terr[dev], ":", merr[dev], dnrerr[dev], nderr[dev], rerr[dev], irerr[dev], pfa[dev];\ print dev, "(" vendor[dev]""product[dev], rev[dev] ")", ":", total[dev], ":", serr[dev], herr[dev], terr[dev], ":", merr[dev], dnrerr[dev], nderr[dev], rerr[dev], irerr[dev], pfa[dev];\
gtotal += total[dev]; \ if ( product[dev] !~ /^CD/ && product[dev] !~ /^DVD/ ) { \
gtotal += total[dev]; \
ndisks++; disks=disks " " dev; \ ndisks++; disks=disks " " dev; \
nsoft+=serr[dev]; nhard+=herr[dev]; ntran+=terr[dev]; \ nsoft+=serr[dev]; nhard+=herr[dev]; ntran+=terr[dev]; \
if (herr[dev] >= hcrit || terr[dev] >= tcrit || serr[dev] >= scrit) { \ if (herr[dev] >= hcrit) { \
ncrit++; crits=crits " " dev; \ ncrit++; crits=crits " " dev; \
} else if (herr[dev] >= hwarn || terr[dev] >= twarn || serr[dev] >= swarn) { \ } else if (herr[dev] >= hwarn) { \
nwarn++; warns=warns " " dev; \ nwarn++; warns=warns " " dev; \
} } \ } else if (terr[dev] >= tcrit) { \
ncrit++; crits=crits " " dev; \
} else if (terr[dev] >= twarn) { \
nwarn++; warns=warns " " dev; \
} else if (serr[dev] >= scrit) { \
ncrit++; crits=crits " " dev; \
} else if (serr[dev] >= swarn) { \
nwarn++; warns=warns " " dev; \
} } } \
END { \ END { \
if (ncrit > 0) { \ if (ncrit > 0) { \
print "CRITICAL -", ncrit+nwarn "/" ndisks, "disks with errors (" nsoft, "soft", nhard, "hard", ntran, "transport):" crits warns; exit 2 \ print "CRITICAL -", ncrit+nwarn "/" ndisks, "disks with errors (" nsoft, "soft", nhard, "hard", ntran, "transport):" crits warns; exit 2 \
} else if (nwarn > 0) { \ } else if (nwarn > 0) { \
print "WARNING -", ncrit+nwarn "/" ndisks, "disks with errors (" nsoft, "soft", nhard, "hard", ntran, "transport):" crits warns; exit 1 \ print "WARNING -", ncrit+nwarn "/" ndisks, "disks with errors (" nsoft, "soft", nhard, "hard", ntran, "transport):" crits warns; exit 1 \
} else { \ } else { \
print "OK -", ndisks, "disks checked with", gtotal, "errors (" nsoft, "soft", nhard, "hard", ntran, "transport)" }} \ print "OK -", ndisks, "disks checked with", gtotal, "errors (" nsoft, "soft", nhard, "hard", ntran, "transport):" disks}} \
' '
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment