NAME

check_netware5 - Netsaint plugin for checking Novell Netware5 servers


SYNOPSIS

To check status of a Netware server, use

        check_netware5 [options] hostname 

where opt determines what status field to check. E.g.,

        check_netware5 --mode=abend hostname

will check if there have been any (soft) abends. The --netware option should

Since it is a netware plugin, will generally be used by defining commands in your netsaint configuration like command[check-netware51-abends]= /usr/local/netsaint/libexec/check_netware5 --mode=abend --netware=51 $ARG$ command[check-netware51SP3-dsstatus]= /usr/local/netsaint/libexec/check_netware5 --netware=51SP3 --mode=dsstatus $ARG$ etc.


DESCRIPTION

This plugin allows for the monitoring of a Netware server using netsaint. It uses Netware Web Management Portal to read the health status page, and parse the results. As such, no non-Novell software need be loaded on the Novell side.

The plugin is still rather beta, and is only tested on Netware 5.1. As the Web Management Portal came out with Netware 5.0, should probably work on that as well, and hopefully will work with little or no modification on later versions as well. I can almost guarantee will not work on Netware 3.x or 4.x servers. Because the Web Management Portal underwent some changes with Service Pack 3 of 5.1 release, there were some problems, but these should now be resolved. The --netware flag, giving the Netware version, now defaults to 51SP3, and systems below that must give the 51 or 50 version strings.

The command takes a number of options followed by a hostname. The allowed options are:

--version : prints version number and exits
--help : prints help message and exits
--mode=MODE : selects the health status variable to monitor. Required if not using --help or --version.
--timeout==TIMEOUT : sets the timeout for the command, in seconds.
--warning==LEVEL : sets threshhold for warnings. Meaning depends on the mode. Not yet implemented. Uses the Web Portal's status by default.
--peakwarning==LEVEL : sets threshhold for warnings on the peak (rather than current) value. Meaning depends on the mode. Not yet implemented. Uses the Web Portal's status by default.
--critical ==LEVEL : sets threshhold for critical errors. Meaning depends on the mode. Not yet implemented. Uses the Web Portal's status by default.
--peakcritical==LEVEL : sets threshhold for critical errors on the peak (rather than current) value. Meaning depends on the mode. Not yet implemented. Uses the Web Portal's status by default.
--port=PORT : sets the port to communicate with the Web Management Portal on. Defaults to 8008. the mode. Not yet implemented.
--netware=VERSION : informs script that will be connecting to a server running Netware version VERSION. This allows for any changes in Health Monitoring page in future Netware versions. Used now to allow to work with 5.1 Service Pack 3 (51SP3) as well as the default 51 version. Defaults to 51SP3.
--ignore=MODE : for case --mode=all, this specifies variables in the web page to ignore. May be repeated.

The allowable values for the mode parameter are:

dsthreads DS Thread Usage
responsetime Work To Do Response Time
allocsrvproc Allocated Server Processes
availsrvproc Available Server Processes
abend Abend/Debug Information or Abended Thread Count (depends on netware version)
cpu0 CPU Utilization-0
cpu1 CPU Utilization-1
cpu2 CPU Utilization-2
cpu3 CPU Utilization-3
connections Connection Usage
memory Available Memory
vmemory Virtual Memory Performance
cache Cache Performance
dsstatus DS Status
pktbuf Packet Receive Buffers
ecb Available ECB's
traffic LAN Traffic
diskspace Available Disk Space
direntries Available Directory Entries
diskthruput Disk Throughput
ndspbroker NDPS Broker Status
ndpsmanager NDPS Manager Status
all This checks all status variables in a single web transaction, returning the most serious error code.

INSTALLATION

This is a Perl script, so should run without much modification on most machines. Biggest modifications required are:

The script makes use of the following modules. All but utils.pm (part of the NetSaint distribution) can be obtained from CPAN www.cpan.org.

Socket (part of base Perl distribution)
Getopt::Long (part of base Perl distribution)
HTML::Parser
HTML::TokeParser
utils (part of NetSaint distribution)

AUTHOR

This code is copyright (c) 2001 by Tom Payerle payerle@physics.umd.edu

All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself, or alternatively (at your option) under either the:

GNU GPL http://www.gnu.org/copyleft/gpl.html

or The Artistic License http://www.perl.com/pub/language/misc/Artistic.html

This code is provided AS IS, without any express or implied warranties.

BUGS

Most status codes in the health monitoring page should now be known, but there may be the odd one not known about. Unknown statuses are treated as critical. If found, and critical seems inappropriate, please let the author know.

No threshholds allowed on checks --- we only report what the Netware Web Management Portal says the status is. This is configurable on the Novell side, but perhaps should be configurable in the script as well. Unfortunately, as of Service Pack 3 of 5.1, these values not being provided to unauthorized users, so will not be done.