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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.