[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference azur::mcc

Title:DECmcc user notes file. Does not replace IPMT.
Notice:Use IPMT for problems. Newsletter location in note 6187
Moderator:TAEC::BEROUD
Created:Mon Aug 21 1989
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:6497
Total number of notes:27359

4354.0. "Need NODE * STATE <> REACHABLE rule" by LICAUS::LICAUSE (Al Licause (264-4780)) Thu Jan 07 1993 20:25

I've been playing with the alarms rules most recently in T1.3 and can't
seem to come up with a good combination that allows for a simple
command procedure evaluation w/o having to use external flag mechanisms
to avoid repetition of notification for the case of unreachable nodes.

    This is on VMS V5.5-2
    
I'm also trying to do this w/o having to depend upon any one remote node
or router as an "anchor" for checking other systems (i.e. the alarms
examples supplied with MCC indicate that the remote node of a router
or the loss of adjacency of a routers' line to be the preferred solution).

In my case, I'm only concerned with a network of routers; and OSI routers
at that.  I want to know only when a router becomes unavailable and when
it again becomes available w/o depending on any other router.

My findings indicate that a rule such as:

	EXPR = (NODE * STATE <> ON)     or
	EXPR = (CHANGE_OF (NODE * STATE, *, *)) 

indicates the following results.....

When the node is reachable, each rule evaluates false, but when the node
is unreachable each evaluates as an exception and will do so with each
poll.  Upon becoming reachable again, one would expect the second
expression to evaluate TRUE (previous state was unreachable).  However,
since an evaluation error is not a valid state, the state really hasn't
changed, therefor it will not again evaulate as true when reachable.

This causes the rule and exception handlers to use some external counting
method and the idea of the CHANGE_OF rule is defeated.

What we really need is something of the form:

	EXPR = (NODE * STATE <> REACHABLE)	 

		or

	EXPR = (CHANGE_OF (NODE * STATE, *,*)) 

 where UNREACHABLE is a valid state and not an exception.

I have played with the OSI rule of:

	EXPR = (CHANGE_OF (NODE x HDLC LINK y LOG STATE * STATE))

but this then forces a dependency on another router.

Have I missed some other combination that would do the trick?

Any comments or help appreciated.

Al

T.RTitleUserPersonal
Name
DateLines
4354.1What I do for this situationANOSWS::COMFORTCold iron shackle, ball &amp; chainFri Jan 08 1993 11:1336
    
    Al -
    
    Hi.  While I can not address the repitition aspect of the exception
    other than outside of MCC,  what I have been doing lately is the
    following:
    
    create domain somedomain rule mon_router1 -
    expression=(node4 router1 state = off), at every x,-
    parameter = somenode::someone
    
    assign target domain somedomain
    event source = domain somedomain rule mon_router1,-
    event name "OSI Rule Exception",-
    target entity = "Node4 router1",-
    target severity = critical
    
    create domain somedomain rule router1_up -
    expression=(change_of(domain somedomain rule mon_router1 result of last
    		evaluation, error, false), at every x),-
    parameter=somenode::someone
    
    assign target domain somedomain
    event source = domain somedomain rule router1_up,-
    event name "OSI Rule Fired",-
    target entity = "Node4 router1",-
    target severity = clear
    
    Out rules run every 00:05:00.  We keep a timestamp per rule name in a
    logical table with a slop factor of 1 minute and do not send mail if
    within the time frame.
    
    FWIW,
    
    Dave Comfort
    
4354.2thanks...but MCC needs to be fixed!LICAUS::LICAUSEAl Licause (264-4780)Sun Jan 10 1993 20:3826
    Hi Dave,
    
    thank for the recommendation.....I wasn't even aware that you could
    use a rule to fire another rule....clever!
    
    However, it is disappointing that we must use two rules to accomplish
    what should take a single rule.....and even at that, it should not
    require any programming on the part of the user.
    
    We definatetly need the ability to setup a rule that will react to the
    state UNREACHABLE in such a was as not to force external programming
    action.  I would assume that eventually the alarms will be fixed to
    allow one to determine the rule, the expression, a severity for each
    condition and to take action in the form of either or both an icon
    color change and/or a mail message.  
    
    I'm not saying we don't need the ability to fire an external command
    procedure or user writen program, but this should be an optional
    programming feature.  
    
    Today, there is simply too much work involved in getting MCC to do what
    it should do.
    
    Hopefull a QAR will escalate or get some answers.
    
    Al
4354.3Would a Node4 Reachability Poller solve this?MOLAR::CHRISB::BRIENENNetwork Management Applications!Mon Jan 11 1993 12:3515
RE: 4354.0  Al Licause

> I've been playing with the alarms rules most recently in T1.3 and can't
> seem to come up with a good combination that allows for a simple
> command procedure evaluation w/o having to use external flag mechanisms
> to avoid repetition of notification for the case of unreachable nodes.

    I see no short-term workaround for your problem. However...

    Have you had a chance to play with T1.3.0's IP Reachability Poller?

    Would supplying something similar for Node4 solve your problem?

						Chris 

4354.4LICAUS::LICAUSEAl Licause (264-4780)Mon Jan 11 1993 13:2110
Chris,

We have, what is right now, an OSI only network.  I"ll have to search around
for a SNMP device and see if I can play with it.  

I am running T1.3.

Any guess as to time frame for doing what was requested in .0?

Al
4354.5Poller for all all global entitiesRDGENG::PRATTTue Jan 12 1993 12:2814
Chris,

I am using the SNMP poller and it is v good Something similiar for all global
entities would be great (not just phaseIV) as the reachability of bridges and
terminal servers is just as important from a network managers point of view.

An enhancement I would like to see to the poller, is an optional interface so 
that everytime the poller detects a reachability change, it can send the 
parameters not only to a Notification window, but also to a DCL procedure that 
sends mail, or executes a user written DCL command procedure. Yes I know that I
can write an Alarm routine for SNMP reachability and get the desired effect, but
just running the Poller makes it so much simpler to set up.

Ian
4354.6alarm on event???CTHQ::WOODCOCKTue Jan 12 1993 13:1528
>An enhancement I would like to see to the poller, is an optional interface so 
>that everytime the poller detects a reachability change, it can send the 
>parameters not only to a Notification window, but also to a DCL procedure that 
>sends mail, or executes a user written DCL command procedure. Yes I know that I
>can write an Alarm routine for SNMP reachability and get the desired effect, but
>just running the Poller makes it so much simpler to set up.

Hi Ian,

I haven't played with the poller yet so I'm not sure if this applies. If the
poller is sending COLLECTOR events  then you can write an alarm rule on these
events:

exp=(occurs(collector * any event)) ....or something like this.

You can also creatively begin seperation by function using wildcards which
seems to work so far (unsure if supported)

exp=(occurs(collector .ip.* any event))  or
exp=(occurs(collector .node4.* any event))

Even if they aren't COLLECTOR events mcc *theory* says we should be able to 
alarm on them.

just a thought,
brad...

4354.7RDGENG::PRATTWed Jan 13 1993 05:297
Hi Brad,

If the poller is sending Collector events then it is totally transparent to the
user. Can anyone from MCC Eng suggest a way of alarming on the IP poller 
generated events?

Ian 
4354.8IP Poller does NOTIF. Events.MOLAR::CHRISB::BRIENENNetwork Management Applications!Wed Jan 13 1993 16:165
The IP Poller is sending NOTIFICATION Events.

One should be able to write ALARMS on these, no?

					Chris
4354.9Clarification...MOLAR::CHRISB::BRIENENNetwork Management Applications!Thu Jan 14 1993 11:217
The IP Poller for T1.3.0 (EFT) sends CONFIGURATION Events. 

The IP Poller will send NOTIFICATION Events for EFT Update (T1.3.1).
This simplifies use of the poller (no notification setup for the poller
will be necessary for EFTU).

						Chris
4354.10expression ???CTHQ::WOODCOCKThu Jan 14 1993 12:5812
>The IP Poller for T1.3.0 (EFT) sends CONFIGURATION Events. 

>The IP Poller will send NOTIFICATION Events for EFT Update (T1.3.1).
>This simplifies use of the poller (no notification setup for the poller
>will be necessary for EFTU).

So what would the expression look like???

exp=(occurs(mcc 0 alarms any notification event)   ???

brad...
4354.11SNMP <instance|*>MOLAR::CHRISB::BRIENENNetwork Management Applications!Thu Jan 14 1993 17:4324
>So what would the expression look like???
>
>exp=(occurs(mcc 0 alarms any notification event)   ???
>

  The first expressions that came to mind were:

	(occurs(snmp <instance|*> any notification event)

  or:	(occurs(snmp <instance|*> IP Reachability <Down|Up>)

  I'm told that wildcarding the <instance> for the above expressions
  is expensive (rule is domain based, so the wildcard is expanded
  and a thread is generated for each instance in the domain as of
  V1.3) but haven't verified it.

  I was also told that "If the rule is created from the fcl using
  the CREATE MCC 0 ALARM RULE format, without the IN DOMAIN NAME
  qualifier, then the wildcard is not supposed to be expanded
  by the alarms FM and it is supposed to be sent down to the AM."

  Hope this helps...

						Chris Brienen
4354.12It worksRDGENG::PRATTFri Jan 15 1993 08:1411
Hi Chris,

Thanks for the info - I've created an alarm rule using 

>>  or:	(occurs(snmp <instance|*> IP Reachability <Down|Up>)

And it works fine.

Cheers

Ian
4354.13Please post the rule?TOOK::R_SPENCENets don&#039;t fail me now...Wed Feb 10 1993 14:193
    Could you post the actual rule you created?
    
    s/rob