OPS/MVS

Expand all | Collapse all

OPSLOG Browse filter

  • 1.  OPSLOG Browse filter

    Posted 06-30-2021 12:06 PM
    Is there a way to pass an input filter to OPSLOG Browse?  This way I can build a list of messages to exclude/include.  Then browsing would show only exceptions.  Sort of like a message exception monitor.


  • 2.  RE: OPSLOG Browse filter

    Posted 07-01-2021 03:47 AM
    Edited by Marcel van Ek 07-01-2021 03:48 AM
    There are ways to do so, but not out of the box.
    I know we have a customer that does so, but I'll need to have a look to see how we did it ..

    (I assume you mean the ISPF view, not the OPSLOG function)

    ------------------------------
    Automated Operations Technical Expert
    Atos
    Netherlands
    ------------------------------



  • 3.  RE: OPSLOG Browse filter

    Posted 07-01-2021 08:40 AM
    Yes.


  • 4.  RE: OPSLOG Browse filter

    Posted 07-01-2021 04:05 AM
    Edited by Marcel van Ek 07-01-2021 04:25 AM
    Try this:
    Create a rexx OPBX:
    /*-REXX---------------------*/
    arg arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 .
    OPBOMGID=arg1 /*msg ids to be filled in as argument*/
    OPBOMGI2=arg2
    OPBOMGI3=arg3
    OPBOMGI4=arg4
    OPBOMGI5=arg5
    OPBOMGI6=arg6
    OPBOMGI7=arg7
    OPBOMGI8=arg8
    end
    address ISPEXEC "VPUT (OPBOJOB,OPBOJOB2,OPBOJOB3,OPBOJOB4) ASIS"
    address ISPEXEC "VPUT (OPBOJOB5,OPBOJOB6,OPBOJOB7,OPBOJOB8) ASIS"
    address ISPEXEC "VPUT (OPBOMGID,OPBOMGI2,OPBOMGI3,OPBOMGI4) ASIS"
    address ISPEXEC "VPUT (OPBOMGI5,OPBOMGI6,OPBOMGI7,OPBOMGI8) ASIS"
    address TSO "ob"

    Then you may call it like: TSO OPBX msg1* msg2* etc


    Or set the filter hardcoded in the OPBX rexx to make it static

    ------------------------------
    Automated Operations Technical Expert
    Atos
    Netherlands
    ------------------------------



  • 5.  RE: OPSLOG Browse filter

    Posted 07-01-2021 08:43 AM
    There is the potential to have many messages.  Perhaps 100 or 1000.


  • 6.  RE: OPSLOG Browse filter

    Posted 07-01-2021 04:33 AM
    Edited by Marcel van Ek 07-01-2021 04:33 AM
    Of course all that is assuming it is purposed for multiple users. If its just personal, then why not create saved profile filters.

    ------------------------------
    Automated Operations Technical Expert
    Atos
    Netherlands
    ------------------------------



  • 7.  RE: OPSLOG Browse filter

    Posted 07-01-2021 07:25 AM
    Yes. Why not just set up profiles, even if for multiple users. If the users arent 'experienced' OPS users, a simple training blurb on setting initial profiles  and using the PR SET command to retrieve whatever profiles are set seems to be more effective (PR SET EXCEPTIONS  PR SET IPL, PR SET ABENDS,etc),  or PR LIST command to list the profiles then select the profile. Additionally, if this is 'profile' is to be used each and every the OPSLOG is accessed, you can set 'Clear OPSLOG profile' to NO in OPSVIEW 0.1, and that will of course cause the previous profile (have to set/define once) to always be used. Again, I think setting the Profiles, listing, setting is a more effective tool.


  • 8.  RE: OPSLOG Browse filter

    Posted 07-01-2021 08:44 AM
    Thanks.  The profile is limited in the amount of messages.  At least I think it is.  I could have 100 or so messages to filter.


  • 9.  RE: OPSLOG Browse filter

    Posted 07-01-2021 08:52 AM
    Yes, and there's no way around that in either presented 'solution' here.

    ------------------------------
    Automated Operations Technical Expert
    Atos
    Netherlands
    ------------------------------



  • 10.  RE: OPSLOG Browse filter

    Posted 07-01-2021 10:04 AM
    Exactly what are you trying to accomplish? Several hundred 'exceptions' - are these random unsolicited messages that you want to view from the OPSLOG? If so, why not create MSG rules to set the MSG.USER field (EXCPALRT or whatever) then in OPSLOG view on USER=EXCPALRT? Are these exceptions/errors generated by your OPS rules/pgms? If so, create unique MSGID such as OPSALERT then filter on that?  Last doable option, again not knowing all the details, is to use the expanded OPSLOG() in a pgm that you can invoke from the TSO foreground. Set up loops of your 'exception' events, creating stemmed vars for each found occurrence within a loop, then spitting out at the end in a scrollable ISPF data set. The logic can also keep track of the last message checked so that you can always start the search from that OPSLOG number when executed. opsmvshlq.CCLXSAMP(OPSLGSCN) shows this logic of using OPSLOG message number to obtain where to start the search from the last execution.


  • 11.  RE: OPSLOG Browse filter

    Posted 07-01-2021 10:32 AM
    Basically what I do now is archive the opslog hourly then interrogate the log via another program to pull exceptions.  For example all messages ending in an E or W or specific strings like WARNING or ALERT.  This is then emailed to me.  It would be nice to enter the OPSLOG and supply this filter bypassing the need for the other processing.  A live exception monitor if you will.