OPS/MVS

 View Only
Expand all | Collapse all

Need to defer actions on multiple messages in a period of time. How to do this? Examples in CCLXSAMP?

  • 1.  Need to defer actions on multiple messages in a period of time. How to do this? Examples in CCLXSAMP?

    Posted Jan 25, 2024 05:43 PM

    Now that I have my SLWTO / MLWTO rule working, the application folks found that some messages come out really fast for a period of time.  They don't want to be notified if any messages come out in x amount of time.  They want to wait to determine how long that is.

    Are there any samples in CCLXSAMP or CCLXRULS that might demonstrate techniques to do this sort of thing?  They may want me to continue to highlight console messages, but just not send text and email messages during that time.  I am expecting we will not want to flood the consoles with highlighted messages either.  Anyway, I am looking for a mechanism to set a time (variable so we can change to suit their needs, it could even be a permanent global variable) for waiting time before repeating notification even thought there may be multiple/many messages in the intervening time.

    Thanks for any ideas or help?

    Kyle



  • 2.  RE: Need to defer actions on multiple messages in a period of time. How to do this? Examples in CCLXSAMP?

    Posted Jan 26, 2024 10:42 AM
    Edited by Steve Ives Jan 26, 2024 10:46 AM

    Is this a job for OPSTHRSH?

    OPSTHRSH Function

    Broadcom remove preview
    OPSTHRSH Function
    Use the OPS/MVS OPSTHRSH function to implement a time interval threshold count in an AOF rule.
    View this on Broadcom >

    Use the OPS/MVS OPSTHRSH function to implement a time interval threshold count in an AOF rule.
    You can use the event count returned by the OPSTHRSH function to implement a threshold for automation logic in an AOF rule that can fire numerous times within a specific time interval. Possible scenarios for using a threshold include:
    • To stop automation actions for similar events after x number of occurrences in y number of seconds.
    • To start automation actions for similar events after x number of occurrences in y number of seconds.
    • To throttle or slow automation actions for similar events to only a fraction of x number of occurrences in y number of seconds.




  • 3.  RE: Need to defer actions on multiple messages in a period of time. How to do this? Examples in CCLXSAMP?

    Posted Jan 26, 2024 01:55 PM

    Thanks Steve.  I will look into that.  Do you know of any sample rules with that?  I will scan CCLXRULS, too.

    --Kyle




  • 4.  RE: Need to defer actions on multiple messages in a period of time. How to do this? Examples in CCLXSAMP?

    Posted Jan 26, 2024 08:00 PM

    I have a rule that takes in multiple msgids and both MLWTOs and SLWTOs for some of the same msgids.  I am trying to figure out how tomake this work with the various combinations of msgids, etc.  The first 3 characters of the msgids are common, e.g. 'XX@'.  So maybe I can have OPSTHRSH select the 4th byte of the msgid for  some number of characters where the msg text string is unique and try that.  I will look into it.

    Does this sound like a possibly good idea in these circumstances?

    Thanks for thoughts.  I know it is not a lot to go on.

    --Kyle




  • 5.  RE: Need to defer actions on multiple messages in a period of time. How to do this? Examples in CCLXSAMP?

    Posted Jan 29, 2024 06:54 PM

    Since this rule handles multiple messages and conditions, I am wondering if I use OPSTHRSH for one condition in the rule, will it prevent another condition from being trapped and handled?  Does OPSTHRSH essentially suspend the rule until the time or is it only for the specific condition/value in the OPSTHRSH parameter list?

    Thanks,

    Kyle




  • 6.  RE: Need to defer actions on multiple messages in a period of time. How to do this? Examples in CCLXSAMP?

    Posted Jan 30, 2024 06:49 AM

    The OPSTHRSH() logic/processing will be occurring against the triggering event, and the value returned from the function call simply returns the number of times this event has occurred based on the set scope/parms. The rule is not 'suspended'. Logic in the rule based on the returned value will cause the rule logic to process or not process. I assume your triggering rule is a masked rule such as )MSG IEF* and you then have logic to process specific msg.ids. Thus, the OPSTHRSH() will be 'linked/set' to the event/msg that is currently being processed. Meaning IEF450I will have its own internal OPSTHRSH() values, and IEF453I (or whatever) would have its values. Additionally, the 'scope' of the threshold will determine if the count/threshold is done by the event msg.id, the asid/jobname that issued the event, or some criteria within the event. I'm not familiar where (if at all) CABC has any best practices videos, but there is an old 11 min You tube reference video on OPSTHRSH() that appears to be still available that may shed some more light for you. Search for OPSTHRSH() in Youtube - CA OPS/MVS Best Practices: Using the OPSTHRSH().... 




  • 7.  RE: Need to defer actions on multiple messages in a period of time. How to do this? Examples in CCLXSAMP?

    Posted Jan 30, 2024 07:19 AM

    ......additionally - without seeing your focal rule that you are talking about, and assuming it is a masked rule, you cannot have MLWTO coded (not supported). If the triggering event is a MLWTO, then the OPSTHRSH() will process for each data line. Thus, for MLWTO messages that you need to add threshold logic, you really should do this in a )MSG msgid MLWTO rule since you cannot wildcard msgid with the MLWTO spec, or of course you can adapt 'old' threshold logic in your focal masked rule (setting glvtemp counter variables) which was done before the OPSTHRSH() was created. 

    So if I had this test rule enabled, and if DGTEST was a 4 line MLWTO, the threshold count would be 4...

    )MSG DGTEST                                                         
    )Proc                                                               
    /* Threshold count for all DGTEST msg rule firings in 1800 secs */  
    cnt = OPSTHRSH('E','1800')                                          
    /* Dump count value....*/                                           
    logmsg = 'OPSDEBUG Cnt = 'cnt' for >>'msg.text                      
    logit = OPSSEND('*','B',logmsg)    

    DGTEST Line 1 of DGTEST mlwto                                 
    OPSDEBUG Cnt = 1 for >>DGTEST Line 1 of DGTEST mlwto          
    Line 2 of DGTEST mlwto                                        
    OPSDEBUG Cnt = 2 for >>Line 2 of DGTEST mlwto                 
    Line 3 of DGTEST mlwto                                        
    OPSDEBUG Cnt = 3 for >>Line 3 of DGTEST mlwto                 
    Line 4 of DGTEST mlwto                                        
    OPSDEBUG Cnt = 4 for >>Line 4 of DGTEST mlwto                                      




  • 8.  RE: Need to defer actions on multiple messages in a period of time. How to do this? Examples in CCLXSAMP?

    Posted Jan 30, 2024 08:43 PM
      |   view attached

    Dave,

    I decided for now to ignore using OPSTHRSH for the MLWTOs.  Those should have a very low occurrence any way.  I also limited it to two types of SLWTOs.  I am trying to test/debug it in the AOF Test Facility.  Results are far from expected.  I imagine I just don't get something.  I have attached the rule and would appreciate it if you would look at it and see what I might be missing or misunderstanding.

    Thanks very much.

    Kyle


    Attachment(s)

    txt
    CI@.txt   25 KB 1 version


  • 9.  RE: Need to defer actions on multiple messages in a period of time. How to do this? Examples in CCLXSAMP?

    Posted Jan 31, 2024 04:20 AM
    Edited by Steve Ives Jan 31, 2024 04:25 AM

    Hi Kyle,

    Quick question - you mentioned "both MLWTOs and SLWTOs for some of the same msgids". What product is this? It seems odd to issue both single- and multi-line WTOs under the same MSGID.

    Also you say the results you are getting with your current rule are not what you expect - what are you expecting and what's actually happening?

    Steve




  • 10.  RE: Need to defer actions on multiple messages in a period of time. How to do this? Examples in CCLXSAMP?

    Posted Jan 31, 2024 09:40 AM

    Hi Steve,

    It is not a product, but some alerts captured by a monitoring product then"repackaged" into SLWTOs & MLWTOs of some MQ & CICS transaction issues.  So the format is "home-grown" and growing exponentially, almost as we speak.  OPS/MVS is the catcher and distributor by choosing to highlight/hold or not console messages and sending email & text messages.

    As to your question as to expected vs delivered results, I will need to do some more testing and capture to best explain that and post back here later.

    Thank you

    Kyle




  • 11.  RE: Need to defer actions on multiple messages in a period of time. How to do this? Examples in CCLXSAMP?

    Broadcom Employee
    Posted Jan 31, 2024 09:56 AM
    Kyle, when using the MLWTO keyword on your message event specifier, you
    must use a fully qualified message ID. Wildcarding is not supported in
    combination with the MLWTO keyword. This may be why you are not getting
    the results you expected.

    MLWTO
    (Optional) To be specified when interrogating a multi-line message. Data
    lines are stored in stemmed
    msg.text.n
    variables for further manipulation. Rule will process after the end-line
    of the multi-line message is received. Wildcarding is not allowed if
    utilizing this keyword. Therefore the
    *msgidspec* must be that of the complete message ID of the multi-line
    message. For details about processing multi-line messages, see Execution
    Considerations for MSG Rules
    <https: techdocs.broadcom.com/us/en/ca-mainframe-software/automation/ca-ops-mvs-event-management-and-automation/14-0/using/using-automated-operations-facility-aof-rules/coding-each-aof-rule-type/message-rules.html#concept.dita_b7c7ea50f8cf9171397c0ebf618ed480a88db615_executionconsiderationsformsgrules="">
    .

    *Ronald Sheehan*
    Engineering Services Architect
    Broadcom | Mint Hill, NC 28277
    Mobile: +1 704-494-1960
    Ronald.Sheehan@Broadcom.com


    On Wed, Jan 31, 2024 at 9:40 AM Kyle_S via Broadcom <mail@broadcom.com>
    wrote:

    > Hi Steve, It is not a product, but some alerts captured by a monitoring
    > product then"repackaged" into SLWTOs & MLWTOs of some MQ & CICS...
    > [image: Broadcom] <https: community.broadcom.com="">
    > OPS/MVS
    > <https: community.broadcom.com/mainframesoftware/communities/community-home/digestviewer?communitykey="314ccf76-ce2d-4f94-910a-9c331dd2c932">
    > Post New Message <broadcom-caopsmvs@connectedcommunity.org>
    > Re: Need to defer actions on multiple messages in a period of time. How to
    > do this? Examples in CCLXSAMP?
    > <https: community.broadcom.com/mainframesoftware/discussion/need-to-defer-actions-on-multiple-messages-in-a-period-of-time-how-to-do-this-examples-in-cclxsamp#bm9332f974-cd8e-4b9e-90c2-018d5ff1f891="">
    > Reply to Group
    > <broadcom_caopsmvs_9332f974-cd8e-4b9e-90c2-018d5ff1f891@connectedcommunity.org?subject=re:+need+to+defer+actions+on+multiple+messages+in+a+period+of+time.+how+to+do+this+examples+in+cclxsamp> Reply
    > to Sender
    > <https: community.broadcom.com/mainframesoftware/communities/all-discussions/postreply?messagekey="9332f974-cd8e-4b9e-90c2-018d5ff1f891&ListKey=e50737fa-bdc0-4f4a-9868-9b5d85aee6f8&SenderKey=59733b75-6ce8-43ab-a36d-77bac04c103b">
    > [image: Kyle_S]
    > <https: community.broadcom.com/network/members/profile?userkey="59733b75-6ce8-43ab-a36d-77bac04c103b">
    > Jan 31, 2024 9:40 AM
    > Kyle_S
    > <https: community.broadcom.com/network/members/profile?userkey="59733b75-6ce8-43ab-a36d-77bac04c103b">
    >
    > Hi Steve,
    >
    > It is not a product, but some alerts captured by a monitoring product
    > then"repackaged" into SLWTOs & MLWTOs of some MQ & CICS transaction
    > issues. So the format is "home-grown" and growing exponentially, almost as
    > we speak. OPS/MVS is the catcher and distributor by choosing to
    > highlight/hold or not console messages and sending email & text messages.
    >
    > As to your question as to expected vs delivered results, I will need to do
    > some more testing and capture to best explain that and post back here later.
    >
    > Thank you
    >
    > Kyle
    > *Reply to Group Online
    > <https: community.broadcom.com/mainframesoftware/communities/all-discussions/postreply?messagekey="9332f974-cd8e-4b9e-90c2-018d5ff1f891&ListKey=e50737fa-bdc0-4f4a-9868-9b5d85aee6f8">*
    > *Reply to Group via Email
    > <broadcom_caopsmvs_9332f974-cd8e-4b9e-90c2-018d5ff1f891@connectedcommunity.org?subject=re:+need+to+defer+actions+on+multiple+messages+in+a+period+of+time.+how+to+do+this+examples+in+cclxsamp>*
    > *View Thread
    > <https: community.broadcom.com/mainframesoftware/discussion/need-to-defer-actions-on-multiple-messages-in-a-period-of-time-how-to-do-this-examples-in-cclxsamp#bm9332f974-cd8e-4b9e-90c2-018d5ff1f891="">*
    > *Recommend
    > <https: community.broadcom.com:443/mainframesoftware/discussion/need-to-defer-actions-on-multiple-messages-in-a-period-of-time-how-to-do-this-examples-in-cclxsamp?messagekey="9332f974-cd8e-4b9e-90c2-018d5ff1f891&cmd=rate&cmdarg=add#bm9332f974-cd8e-4b9e-90c2-018d5ff1f891">*
    > *Forward
    > <https: community.broadcom.com/mainframesoftware/communities/all-discussions/forwardmessages?messagekey="9332f974-cd8e-4b9e-90c2-018d5ff1f891&ListKey=e50737fa-bdc0-4f4a-9868-9b5d85aee6f8">*
    > *Flag as Inappropriate
    > <https: community.broadcom.com/mainframesoftware/discussion/need-to-defer-actions-on-multiple-messages-in-a-period-of-time-how-to-do-this-examples-in-cclxsamp?markappropriate="9332f974-cd8e-4b9e-90c2-018d5ff1f891#bm9332f974-cd8e-4b9e-90c2-018d5ff1f891">*
    >
    > -------------------------------------------
    > Original Message:
    > Sent: Jan 31, 2024 04:19 AM
    > From: Steve Ives
    > Subject: Need to defer actions on multiple messages in a period of time.
    > How to do this? Examples in CCLXSAMP?
    >
    > Hi Kyle,
    >
    > Quick question - you mentioned *"both MLWTOs and SLWTOs for some of the
    > same msgids"*. What product is this? It seems odd to issue both single-
    > and multi-line WTOs under the same MSGID.
    >
    > Also you say the results you are getting with your current rule are not
    > what you expect - what are you expecting and what's actually happening?
    >
    > Steve
    >
    >
    > Original Message:
    > Sent: Jan 26, 2024 07:59 PM
    > From: Kyle_S
    > Subject: Need to defer actions on multiple messages in a period of time.
    > How to do this? Examples in CCLXSAMP?
    >
    > I have a rule that takes in multiple msgids and both MLWTOs and SLWTOs for
    > some of the same msgids.
    >
    >
    >
    >
    > You are subscribed to "OPS/MVS" as ronald.sheehan@broadcom.com. To change
    > your subscriptions, go to My Subscriptions
    > <http: community.broadcom.com/preferences?section="Subscriptions">. To
    > unsubscribe from this community discussion, go to Unsubscribe
    > <http: community.broadcom.com/higherlogic/egroups/unsubscribe.aspx?userkey="b51e759b-0fb1-4c56-9c87-6a928d4f754f&sKey=KeyRemoved&GroupKey=e50737fa-bdc0-4f4a-9868-9b5d85aee6f8">.
    >
    >
    > Copyright © 2005-2023 Broadcom. All Rights Reserved. The term "Broadcom"
    > refers to Broadcom Inc. and/or its subsidiaries.
    >
    > Hosted by Higher Logic, LLC on the behalf of Broadcom - Privacy Policy
    > <https: www.broadcom.com/company/legal/privacy-policy=""> | Cookie Policy
    > <https: www.higherlogic.com/legal/privacy=""> | Supply Chain Transparency
    > <https: www.broadcom.com/company/citizenship/governance-and-ethics#supply="">
    > | Terms of Use <http: termsandconditions="">
    >

    --
    This electronic communication and the information and any files transmitted
    with it, or attached to it, are confidential and are intended solely for
    the use of the individual or entity to whom it is addressed and may contain
    information that is confidential, legally privileged, protected by privacy
    laws, or otherwise restricted from disclosure to anyone else. If you are
    not the intended recipient or the person responsible for delivering the
    e-mail to the intended recipient, you are hereby notified that any use,
    copying, distributing, dissemination, forwarding, printing, or copying of
    this e-mail is strictly prohibited. If you received this e-mail in error,
    please return the e-mail to the sender, delete it from your computer, and
    destroy any printed copy of it.




  • 12.  RE: Need to defer actions on multiple messages in a period of time. How to do this? Examples in CCLXSAMP?

    Posted Jan 31, 2024 11:18 AM

    Hi Ron,

    Thanks for the information.  I am aware of that.  I am not currently using *msgidspec* w/ MLWTO. 

    I did find one oops though.  I had some statements after the return reject/accept in the )INIT section which of course never were executed.

    Thanks,

    Kyle




  • 13.  RE: Need to defer actions on multiple messages in a period of time. How to do this? Examples in CCLXSAMP?

    Posted Jan 31, 2024 06:33 PM

    I got it working as desired.  Thank you to each and everyone of you: Dave, Steve, & Ron.

    --Kyle




  • 14.  RE: Need to defer actions on multiple messages in a period of time. How to do this? Examples in CCLXSAMP?

    Posted Mar 07, 2024 05:04 PM

    You may want to build a function in rexx that can be called by rules called Firecount. We have done this and added it to flood like messages. This way it could be called by multiple rules. As well as building a rule to store variables. We usually set it so that when we have seen 5 of the same message in X seconds usually 5 or less then we suppress it for X minutes.




  • 15.  RE: Need to defer actions on multiple messages in a period of time. How to do this? Examples in CCLXSAMP?

    Posted Mar 11, 2024 05:31 AM

    Again, is this a job for OPSTHRSH? You can use it to defer any subsequent action until a pre-determined number of events have occurred, or retsitct the rate of actions (this may be a replacement for Paul's 'Firecount').

    Or you could create a time that the first event ocurred and then not trigger your action until a subsequent event occurs after a certain time since the first event. 




  • 16.  RE: Need to defer actions on multiple messages in a period of time. How to do this? Examples in CCLXSAMP?

    Posted Mar 13, 2024 08:11 AM

    Steve,

    Thanks for your reply.  Please note in prior postings, I mentioned that I had used OPSTHRSH and that everything is working fine.

    This question has been completely answered.  Thanks again to those who posted.

    Kyle