Re: RFC - advice actually - on availability reporting for management/PHB
Stanley Hopcroft <[email protected]>
| Newsgroups | gmane.network.netsaint.user |
|---|---|
| Message-ID | <[email protected]> |
Dear Ladies and Gentlemen,
I am writing to offer a host and service event handler for logging down
records to a relational database for availability reporting.
Netsaint calls a global service handler (Perl script) to
1 do nothing for SOFT statetypes
2 for HARD statetypes
if the servicestate is CRITICAL
record the host and service in a persistent store
# via a hash tied to a DB_File db in $DB_HASH mode
if the servicestate is OK
if the host and service record exist in the store
insert a down record in the relational DB
# mySQL RDBMS
The down record is a nothing more than the time down (from the store),
the time up, and the hostname and servicedescription.
The global host handler likewise ignores soft states and records an
entry in the persistent store for that host should the hoststate be
DOWN.
If the hoststate is UP, the handler
reads a table in the relational DB that lists 'services' for that host
# This enables a management view of the services that may be
# different to Netsaints
foreach of the services in the table
insert a down record for that service in the relational DB
if there are no services listed in the table
insert a down record with a generic servicedesc in the
relational DB.
Obviously the scripts are pretty peripheral to the framework that
describes the relationships between services and hosts.
Some relationships are obvious but others, involving distributed
services that may degrade rather than fail (after a host outage), are
more tricky.
This is not something that this approach helps with at all.
My employer sees it as a key requirement to get management information -
(summary information like 'how available is the LAN') out of Netsaint
and this, by adding down records to a multi-user queriable (eg with ODBC
tools such as MS Query or MS Access) RDBMS, may help us.
You could do these in any language that has bindings to your RDBMS and a
reasonable persisent store (with locking).
I chose Perl.
Please let me know if you want copies.
Yours sincerely.
--
------------------------------------------------------------------------
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: Influence the future
of Java(TM) technology. Join the Java Community
Process(SM) (JCP(SM)) program now.
http://ad.doubleclick.net/clk;4729346;7592162;s?http://www.sun.com/javavote