[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

1200.0. "DECmcc / DECalert Interface" by BSYBEE::EGOLF (John C. Egolf LKG2-2/T02 x226-7874) Sun Jun 30 1991 11:51

		       DECmcc/DECalert interface

From Bob Lueth...

	At the  end of this message I have included three files that we
	place on the DECalert software distribution.  The first file is
	a brief description regarding  how  to  set  up  the  interface
	between DECmcc and DECalert, while the other two are the actual
	command procedures used. 

	In brief, DECalert is a notification tool that takes input from
	a number of sources, in the form  of 'alert messages,' and then
	provides  notification    via    four    different  techniques:
	synthesized voice via  a  DECtalk  unit, VAXmail, graphics, and
	finally remote notification via  pagers and telephones.  One of
	the sources we utilize is  DECmcc.    Via  our interface to the
	Alarms FM, we can provide DECalert notification upon the firing
	of any DECmcc alarm rule. 

	Please understand that DECalert is currently only  supported in
	the  U.S.    and  Canada.  We cannot  sell  in  Europe  due  to
	incompatibilities between  Digital's  DECtalk  devices  and the
	European phone systems.  

	For additional information  regarding DECalert business issues,
	please contact the DECalert  business  manager,  Bob Brewer, at
	VAXmail TYFYS::BREWER.  

DECMCC_SETUP.TXT
================

$! The following is an example of establishing a DECmcc alarm rule
$! that will interface with DECalert.
$!
$! This DECmcc command will enable an alarm rule that will monitor the 
$! 'maximum hops' executor parameter on the DECnet Phase IV node LKGMCC:: 
$! every minute.  If maximum hops is greater than 29, the rule will fire.
$! 
$! When this rule fires, the PROCEDURE will be submitted as a batch job
$! to QUEUE.  PARAMETER is passed in to DECALERT_INTERFACE.COM as the P7
$! parameter, and is used to define the pager key, and optionally the SBM,
$! to be used in the DECalert RUDEM call.  CATEGORY is passed in to
$! DECALERT_INTERFACE.COM as the P3 parameter, and is used to define the
$! affected node in the DECalert RUDEM call.  Finally, DESCRIPTION is passed
$! in to DECALERT_INTERFACE.COM as parameter P2, and is used to define the
$! DECalert message text in the RUDEM call.
$!
$! Notice the EXCEPTION HANDLER qualifier.  This is the procedure called should
$! some unexpected error be encountered when DECmcc attempts to check the
$! maximum hops attribute, e.g. node unavailable.  Upon execution, this routine
$! will receive all the same parameters as the PROCEDURE command procedure.
$!
$ set ver
$ mcc
delete mcc 0 alarms rule lkgmcc_mh
create mcc 0 alarms rule lkgmcc_mh -
  expression = (node4 lkgmcc maximum hops > 29, -
    at every = 00:01:00), -
  procedure = sys$sysroot:[mcc]DECmcc_interface.com, -
  exception handler = sys$sysroot:[mcc]DECmcc_exception_interface.com, -
  parameter = "damanager;22", -
  category = "LKGMCC", -
  description = "executor maximum hops overflow on node LKGMCC", -
  queue = "mcc$batch"


sys$sysroot:[mcc]DECmcc_interface.com
=====================================

!
!+
!			     COPYRIGHT (C) 1991 BY
!		       DIGITAL EQUIPMENT CORPORATION, MAYNARD
!			MASSACHUSETTS.  ALL RIGHTS RESERVED.
!
!  THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
!  ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
!  OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES
!  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER
!  PERSON.  NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
!
!  THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND
!  SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION.
!
!  DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
!  SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
!
!****************************************************************************
!
$!
$! The DECmcc Alarms AM will pass the following parameters into the command
$! procedure executed when an Alarm Rule fires:
$!
$!	P1 - The name of the alarm rule
$!	P2 - The DESCRIPTION parameter of the Alarm Rule
$!	P3 - The CATEGORY parameter of the Alarm Rule
$!	P4 - The EXPRESSION parameter of the Alarm Rule
$!	P5 - The time that the alarm condition was detected
$!	P6 - Data values that caused the rule to fire
$!	P7 - The PARAMETER qualifier of the Alarm Rule
$!	P8 - A pointer to a data file containing P1 through P7 information
$!
$! This command procedure uses the following passed-in parameters to tailor
$! the RUDEM call to DECalert per event:
$!
$!	P2 - message text
$!	P3 - affected node
$!	P7 - pager_key (and optionally the SBM)
$!
$! If the user wants to select a value other than '23' for the Severity Bit
$! Mask (23 representing all four notification techniques), then he/she should
$! insert a semicolon and the SBM value immediately following the pager_key 
$! value passed into parameter P7 (e.g. P7 = "MCCMGR;5")
$!
$!==============================================================================
$ set verify
$!
$! Symbol declaration
$!
$ default_node = "lkgmcc"
$ default_pager_key = "mccmgr"
$ sbm = "23"
$ aff_node = p3                                  
$ pager_key = p7
$ msg_text = p2
$!
$! check for valid values in P2, P3, and P7
$!
$ if (msg_text .eqs. "") then -
	msg_text = "No message text from DECmcc rule ''p1'"
$ if (aff_node .eqs. "") then aff_node = "''default_node'"
$ if (pager_key .eqs. "") then pager_key = "''default_pager_key'"
$!
$! check for semicolon in P7 (a ; means the user specified an SBM)
$!
$ p7_length = f$length(pager_key)
$ semi_location = f$locate(";", pager_key)
$ if (semi_location .eq. p7_length) then goto issue_rudem
$ sbm = f$extract(semi_location + 1, 2, pager_key)
$ pager_key = f$extract(0, semi_location, pager_key)
$!
$ issue_rudem:
$!
$ rudem/aff='aff_node'/page='pager_key'/sev='sbm' "''msg_text'"
$!
$ end:
$!
$ exit


sys$sysroot:[mcc]DECmcc_exception_interface.com
===============================================

!
!+
!			     COPYRIGHT (C) 1991 BY
!		       DIGITAL EQUIPMENT CORPORATION, MAYNARD
!			MASSACHUSETTS.  ALL RIGHTS RESERVED.
!
!  THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
!  ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
!  OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES
!  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER
!  PERSON.  NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
!
!  THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND
!  SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION.
!
!  DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
!  SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
!
!****************************************************************************
!
$!
$! The DECmcc Alarms AM will pass the following parameters into the command
$! procedure executed when an Alarm Rule exception condition occurs:
$!
$!	P1 - The name of the alarm rule
$!	P2 - The DESCRIPTION parameter of the Alarm Rule
$!	P3 - The CATEGORY parameter of the Alarm Rule
$!	P4 - The EXPRESSION parameter of the Alarm Rule
$!	P5 - The time that the alarm condition was detected
$!	P6 - Data values that caused the rule to fire
$!	P7 - The PARAMETER qualifier of the Alarm Rule
$!	P8 - A pointer to a data file containing P1 through P7 information
$!
$! This command procedure uses the following passed-in parameters to tailor
$! the RUDEM call to DECalert per event:
$!
$!	P3 - affected node
$!	P7 - pager_key (and optionally the SBM)
$!
$! If the user wants to select a value other than '23' for the Severity Bit
$! Mask (23 representing all four notification techniques), then he/she should
$! insert a semicolon and the SBM value immediately following the pager_key 
$! value passed into parameter P7 (e.g. P7 = "MCCMGR;5")
$!
$!==============================================================================
$ set verify
$!
$! Symbol declaration
$!
$ default_node = "lkgmcc"
$ default_pager_key = "mccmgr"
$ sbm = "23"
$ aff_node = p3                                  
$ pager_key = p7
$!
$! check for valid values in P3 and P7
$!
$ if (aff_node .eqs. "") then aff_node = "''default_node'"
$ if (pager_key .eqs. "") then pager_key = "''default_pager_key'"
$ msg_text = "Exception condition detected on node ''aff_node'"
$!
$! check for semicolon in P7 (a ; means the user specified an SBM)
$!
$ p7_length = f$length(pager_key)
$ semi_location = f$locate(";", pager_key)
$ if (semi_location .eq. p7_length) then goto issue_rudem
$ sbm = f$extract(semi_location + 1, 2, pager_key)
$ pager_key = f$extract(0, semi_location, pager_key)
$!
$ issue_rudem:
$!
$ rudem/aff='aff_node'/page='pager_key'/sev='sbm' "''msg_text'"
$!
$ end:
$!
$ exit
T.RTitleUserPersonal
Name
DateLines