[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

4585.0. "Target to entity that belongs to another domain ?" by MARS03::THOMAS () Mon Feb 22 1993 03:09

     Is it possible to redirect an alarm (either rule or event) with target
    mechanism to an entity in another domain ?
    
    	For instance when the X node (that is in the A domain) generates an
    event for the "adjacency UP" of the Y node (that is in the B domain), may
    we target this event to the Y node (to have the change of the Y node icon
    colour ? 
    
    	Thanks,
    
    	Bernard
T.RTitleUserPersonal
Name
DateLines
4585.1sorry, not possibleTOOK::S_KOHoot mon!Wed Feb 24 1993 19:073
    
    No, i don't believe this is possible.  the event source and target
    entity need to be in the same domain to have the icon change color.
4585.2NOT SO SIMPLE BUT...MASSIN::RAOULTThu Feb 25 1993 13:07172
	Hi,

	You must use one data collector by domain to provide this function.
	
	
	Typically if you have to survey the lost of adjacency from a router,you 
	have to know to which domain the adjacent node belongs("source" of the 
	event).
	
	The best way is to set up a rule looking for the event and dealing with
	the parameters,you know the "source" of the event and  you can find the 
	domain.
	
	Then you send your message to the data collector in the appropriate
	domain and target to the source.

	restrictions:

	-you have to create a separate domain(not part of you tree)and your 
	routers must be members.

	-don't enable notification on that domain.
		(you will get only one notification through your collector)
	
	-enable collectors 
	-enable the rule in batch 		
	 
	I have used  one part of the save_set MCC_REACH found in note # 28
        (noted::mcc-tools)

	 I not very confident with DCL so if you to improve the procedure ...


	 Regards 

						Fabrice.


  CREATE DOMAIN MCC_REACH RULE  PERTE_ADJACENCE_GLOBALE_ADP     -
  EXPRESSION         =  (OCCURS(NODE4 * CIRCUIT * ADJACENT NODE *       -
                          ANY CONFIGURATION EVENTS))                        ,-
  CATEGORY           =  "ADJACENCE"                                    ,-
  DESCRIPTION        =  "Cette r�gle d�tecte la perte d'accessibilit�   ,-
                         de ce Node par son routeur d'aire"             ,-
  ALARM FIRED PROCEDURE     =  MCC_REACH_dir:ADJACENCE_RULE_FIRED.com        ,-
  ALARM EXCEPTION PROCEDURE =  MCC_COMMON:MCC_ALARMS_MAIL_EXCEPTION.COM     ,-
  BATCH QUEUE               = "ALARMS"                                      ,-
  ALARM FIRED PARAMETER     =  "system"                                     ,-
  SEVERITY           =      Critical
		 
	


			
				


	


$!	Procedure executee en batch sur detection de l'alarme ADAJACENCE_MCC_REACH
$!	autorisee sur le DOMAIN MCC_REACH.
$! 	
$!	
$ set noon
$ @mcc_reach_dir:mcc_reach_symbols.com
$ domain_members = "MCC_REACH_DIR:DOMAIN_MEMBERS.IDX"
$ member_excepts = "MCC_REACH_DIR:NONOTIFY_MEMBERS.IDX"
$ set proc/priv=grpnam
$ set def mcc_reach_dir
$ mcc_node = "0" 
$!  test des parametres
$ data1:='p1
$ data2:='p2
$ data3:='p3
$ data4:='p4
$ data5:='p5
$ data6:='p6
$ data7:='p7
$ data8:='p8
$! P8 contient plus d'infos :
$!		  translation address --> node name
$!		  managed object
$! copy 'p8 MCC_REACH_DIR:param8.log
$ 
$!
$!
$ pid=f$getjpi ("","PID")
$ gosub get_event
$ gosub get_reason
$ gosub get_adjacent_node
$ gosub get_domain
$ gosub send_event
$ goto end
$!
$!.........................................................................
$!
$ GET_EVENT:
$!
$ search/output=osi_event_'pid.tmp 'p8 EVENT_ARGUMENTS:
$ open/read event osi_event_'pid.tmp
$ read/err=end_event_read event event_args
$ END_EVENT_READ:
$ close event
$ event_args = f$edit(event_args,"COMPRESS,TRIM,UPCASE")
$ sh sym event_args
$ delete osi_event_'pid.tmp;
$ return
$!.........................................................................
$!
$ GET_REASON:
$!
$ 	severity = "CRITICAL" 
$ event_reason1 = f$element(2," ",event_args) 
$ event_reason2= f$element(3," ",event_args)
$ reason= event_reason1 + " " + event_reason2
$ if   f$edit(event_reason2,"UPCASE") .eqs. "UP" then 	severity = "CLEAR" 
$ sh sym severity
$ return
$!
$!.........................................................................
$!
$ GET_ADJACENT_NODE:
$!
$ I=0
$ CHERCHE:
$ if f$element(I," ",event_args) .eqs. " " 
$ Then Target="DNA_NODE." + f$element(I-1," ",event_args)
$ sh sym TARGET
$ return
$ else
$ i=I+1
$ goto Cherche
$ endif
$!                                                                        
$!
$!.........................................................................
$!
$ GET_DOMAIN:
$!
$ open/read members 'domain_members
$ read/key="''TARGET'"/end_of_file=end_domain/err=end_domain members member_line
$ NEXT_DOMAIN_READ:
$ member_line=f$edit(member_line,"COMPRESS,TRIM")
$ sh sym member_line
$ read_object = f$element(0," ",member_line)
$ show sym read_object
$ if  f$edit(TARGET,"UPCASE") .nes. f$edit(read_object,"UPCASE") -
  then goto end_domain
$ domain=f$element(1," ",member_line)
$ sh sym domain
$ read/end_of_file=end_domain/err=end_domain members member_line
$ goto next_domain_read
$ END_DOMAIN:
$ close members
$ return
$!
$!.........................................................................
$!
$ SEND_EVENT:
$ send_event :== $MCC_SYSTEM:MCC_EVC_SEND.EXE
$ send_event "''mcc_node'" "collecteur_''domain'" -
"NODE4 ''TARGET'"  "''P3' " "''reason'" "''severity'"
$ return
$!.........................................................................
$!
$!
$ END:
$ DEL 'P8;
$ purge/keep=10 sys$login:ADJACENCE_RULE_FIRED.log
$ exit