Nagios to monitor MQSeries
Stanley Hopcroft
Stanley.Hopcroft at IPAustralia.Gov.AU
Fri Feb 7 02:11:22 CET 2003
Dear Sir,
I would like to attempt a summary of options available for having
Nag/Netsaint monitor mysteron Service X (like MQ series for example).
1 Service X has a non portable library with a public API - some
programmatic way of interacting with it.
eg Lotus Notes, MQ Series
==> write a non portable (since the libraries probably aren't)
specific check of X using the library + then either
1.1 if the check follows the plugin developer guidelines wrt to output
and return codes (ie 0 = Ok, 2 = Critical, etc), have Nag execute it by
SSH or by NRPE
1.2 Otherwise export the check results to Nagios with techniques such as
1.2.1 Passive service checks: NCSA
1.2.2 Active service checks: export a file containing the check output
(by NFS, or Samba) and have the Nag active check read that file and
interpret it.
2 Service X has a portable library but you don't want to use it. Service
X has a public or near public protocol
eg DHCP, SMB, Oracle
2.1 Write a plugin that sends the same packets as are exchanged between
the parties in a normal interaction. Return Ok if all the expected
packets are received in a timely manner, Critical otherwise.
Traditionally what plugin writers do in this case is use a public client
like (smbclient or tnsping) that is controlled by (in effect) popen().
However, a better option is to to call the library dfunctions irectly if
you have the choice (ie the libraries are readily available).
Public libraries that also have bindings to 'scripting' ( the
modern name for ultra high level languages) languages like Python, Ruby
and Perl are especially good like this because the plugin writer can
exploit the power of these languages to simplify development.
3 Service X has no library, and no public on the wire protocol
eg Citrix metaframe
3.1 Do what Ed Rollston did for the check_citrix plugin and collect the
frames from a real client and have your plugin synthesise and send those
frames as if it were the client.
There should be more tools around to help with this.
However, some protocols still are alien (Citirx ICA for example) and
even the plugin writers best friend, ethereal (thank you, thank you
ethereal team) is no help whatsoever.
What is needed are tools that
. analyse packets
. synthesise them
--
------------------------------------------------------------------------
Stanley Hopcroft
------------------------------------------------------------------------
'...No man is an island, entire of itself; every man is a piece of the
continent, a part of the main. If a clod be washed away by the sea,
Europe is the less, as well as if a promontory were, as well as if a
manor of thy friend's or of thine own were. Any man's death diminishes
me, because I am involved in mankind; and therefore never send to know
for whom the bell tolls; it tolls for thee...'
from Meditation 17, J Donne.
-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
More information about the Users
mailing list