Andry Mishin (Those who can't, teach.) asked a question.

Monitoring PASOE best practices

Greetings to all!

 

Does anyone have any real experience monitoring PASOE?

What are the recommendations? What should I pay attention to in the work of PAS?

How do I determine which users are currently working with the application server and what they are doing?

 

I found a lot of links to different tools, including to PASOE REST API, but it`s are all constructors that need to be refined in order to create your own monitoring system. And the biggest problem is that nowhere is it told how to interpret the results obtained.

 

We are currently trying to migrate to PASOE, but it is still not clear to us how to manage it, how to find the causes of the problem and, accordingly, how to solve them. Everything in the documentation is very confusing and not clear, I saw a document in ProKB, but it all again comes down to doing it manually.


  • Dustin Grau (Progress Software)

    Thank you all for your patience as we found the best path for publishing the requested code. I have made the following GitHub repository public, which contains only the discussed resources available (under PAS/Management/OEManager/ABL). Please review the included README.md files carefully regarding the license terms and usage instructions. Note that this is released as "as-is" code (under the Apache 2.0 license) and is not formally supported. As Shelley mentioned there are efforts to enhance the product itself and we encourage joining the CVP to discuss further.

     

    https://github.com/progress/iceberg

     

    This code meant to assist customers utilizing PAS for OpenEdge within 12.2.4 or 12.3 installations, though several features should work within 11.7.x installations as well. The inline documentation will provide context on any requirements and deployment/usage. The code (ABL) has been tested under a variety of OS and live customer environments.

    Selected as Best
  • Andry Mishin (Those who can't, teach.)

    P.S.Our application is written only in 4GL (ABL), we do not and will not have REST or SOAP or other web services, only ABL and nothing more. If Progress had not closed the standard AppServer, then we would not have had to switch to PAS. I don't understand at all what are the advantages of PAS over the so-called classic application server.

  • Dmitry Lishafaev (Customer)

    OEM or your custom solution (the last is preferred).

    There is no suitable tool out-the-box for monitoring and troubleshooting. AFAIK in my current 11.7.8

    Maybe v12.4 is more better.

     

    • Neil Treeby (D&H Distributing)

      If you are swapping out your Enterprise AppServer licenses for PASOE, then OEE will not be an option since it isn't part of the PASOE product. You would need to install OEM (which requires a database product alongside, or jumping through hoops to disable the trending db etc) or a product that contains OEE alongside it (such as a database product). Depending on your licensing, and the configuration of your systems, those might not be practical options.

       

      We are having some trouble with PASOE troubleshooting right now (albeit providing a REST API using the Web transport), in our first major deployment to a live system - and it is difficult, much more so than with the 10.2B AppServer this project replaced. The number of different log files, and the number of different configuration files needed to touch, to track down performance issues, is daunting. And, we don't have OEE/OEM available on those servers to give us a "nice" view of PASOE.

       

      There's only so much you can do with the Swagger UI or Postman; those are development and testing tools.

  • Dustin Grau (Progress Software)

    Hello Andry, someone just made me aware of this thread and I'd like to assist. Even internally we sometimes tinker with making our own tooling on top of product features to make things easier. Attached is a "PAS Status" page which illustrates combining various OEManager REST API's to produce verbose output on the state of a PAS instance. While this is meant to work with 12.2 and later, it should provide at least some functionality in 11.7.x (and more so if you've enabled the Enhanced MDC logging to track RequestID's internally). This does not require any database to run, and just reports on the current state of the server. It can read the list of ABL Applications which show as a drop-down at the top of the page--just change the ABL App to view status on that application (assuming you utilize multiple ABL Apps in your instance). This is offered without support as it's not an official product feature, though I can answer any questions as I was the author for this utility.

    • Andry Mishin (Those who can't, teach.)

      @Dustin Grau (Progress Software)​  Thank you for your script! I'll look at it and explore.

      • Dustin Grau (Progress Software)

        FYI, I realized there was likely more to add to the README file in that archive. Since you are working with OpenEdge 11.7 this may be relevant to you, as some metrics values for that version MUST be manually enabled in order to see their effect in any tooling I might be able to provide you.

         

        Note: Some data may only be displayed in an OpenEdge 12 environment, such as the Dynamic Session Limit which was added as part of the Agent self-management feature. Other values such as RequestID (where applicable) will only be displayed if the Enhanced MDC Logging is enabled--this is on by default in OpenEdge 12 though it must be manually enabled in OpenEdge 11.7.x (via openedge_setenv.[bat|sh]). And lastly, some runtime metrics such as counts and time values will only be present if collectMetrics has been set to 3 for the AppServer and each WebApp (via openedge.properties)

    • Andrey Piskunov (Bereke Bank JSC)

      @Dustin Grau (Progress Software)​  Thanks for the PAS status!

      Much more convenient than the built-in OEManager.

      And there is a suggestion for improvement: add buttons for refreshing agents (all and separately) and adding an agent.

      • Dustin Grau (Progress Software)

        Those are good suggestions and I thank you for taking a look at the tooling. The ability to edit that code is yours, though I'll consider adding the "New Agent" button at some point in the future. In the meantime you could modify the code in status.js to output an icon and clickable link in the produced HTML (within the getAgentInfo function), and add a "startAgent" method to the JavaScript to call the necessary API. [The code uses an MVC pattern to control what is displayed or available to the HTML on the screen.]

         

        As for refreshing agents, I would need to take a closer look at that. The API only exists in OpenEdge 12, so it would only benefit those customers who have migrated. The tools I just released (see latest reply in the main thread) does include a target for performing a refresh on all agents via the command-line tools. I hope that will suffice for now.

    • Dan Aflalo (Partner)

      I love this script and the interface it provides. I added a function to it that will allow me to trim all idle ABL sessions which I wish that PASOE did automatically based on a timeout setting like the Agent trim timeout. Attached is the updated file that has the additional functionality. What are other customers doing to trim off idle sessions automagically to conserve memory resources?

  • Andry Mishin (Those who can't, teach.)

    What about something like asbman? I could see the number of agents, sessions, statuses sessions and queries etc from the command line, so that I can use this in scripts. Is there something like this for the PAS?

10 of 49