PASOE management scripts
Introduction
The oemanager app in a PASOE (Progress AppServer for OpenEdge) provides information about instance and the ability to manage a running PASOE instance. The oemanager webapp needs to be deployed in order to use the following scripts. Please refer to the OpenEdge documentation for details.
In Consultingwerk/Studio/bin you'll find the following scripts:
Script | Description | More information |
---|---|---|
scl-pasoe.cmd | Main script and is used by all the following wrapper scripts | |
scl-pasoe-trim.cmd | Wrapper script that trims the agents. | PASOE Management: trimming agents and agent sessions |
scl-pasoe-query.cmd | Wrapper script that shows all information of the following scripts. | |
scl-pasoe-metrics.cmd | Wrapper script that shows the metrics. | |
scl-pasoe-agents.cmd | Wrapper script that shows information about the agents. | |
scl-pasoe-sessions.cmd | Wrapper script that shows information about the sessions. | |
scl-pasoe-clients.cmd | Wrapper script that shows information about the clients. | |
scl-pasoe-applist.cmd | Wrapper script that shows all applications. | |
scl-pasoe-trackablobjects.cmd | Wrapper script that shows all ABL trackable objects | |
scl-pasoe-agentrequests.cmd | Wrapper script that shows all Requests for a given Agent | |
scl-pasoe-agentsessions.cmd | Wrapper script that shows all Sessions for a given Agent |
(The LINUX scripts equivalent are available too in Consultingwerk/Studio/bin)
The scripts support both http and https connections. The scripts will first try to establish a connection to the appserver using http, if that fails, the scripts will retry using https. There is no need to supply a parameter for a secure connection.
It's recommended to add the Consultingwerk/Studio/bin directory to your PATH environment variable, e.g.:
PATH=%PATH%;c:\Work_STREAM\SmartComponentLibrary\Develop\ABL\Consultingwerk\Studio\bin
Usage
scl-pasoe-*.cmd -s Portnumber [ -h Hostname ] [ -a Application ] [ -u Username ] [ -p Password ] [ -debug ]
-s is mandatory the other parameters are optional. If not supplied the default values used are -h=localhost, -a=root, -u=tomcat and -p=tomcat. The parameters can be supplied in any order, have to begin with the indicated letter and are not case-sensitive.
When -debug is added to the script's parameters, the script will display the PROPATH on startup.
Tracking ABL Objects
New Feature in OpenEdge 11.7.3
The tracking of ABL objects requires OpenEdge 11.7.3, more details on this capability can be found here: https://knowledgebase.progress.com/articles/Article/New-ABL-Objects-Tracking-REST-API-under-PASOE
scl-pasoe-trackableobjects.cmd has additional parameters, because the Appserver Agent PID needs to be specified as well as the tacking options [on|off|status|report]
Trackable Objects has to be explicitly turned on before usage. The status can be queried with -tracking status
A report about all trackable ABL objects is opened in the default browser to display the ABL Trackable Objects information in Json format.
When -tty is specified the console is used for output.
scl-pasoe-trackableobjects.cmd -s Portnumber [ -h Hostname ] [ -a Application ] [ -u Username ] [ -p Password ] -agentpid AppserverAgentPID -tracking [on|off|status|report] [ -console ]
Please take a look at https://knowledgebase.progress.com/articles/Article/New-ABL-Objects-Tracking-REST-API-under-PASOE for more information on ABL Object Tracking.
Please note that the ABL Objects Tracking via REST API only works for appservers running on OpenEdge 11.7.3 and above!
Examples
Trim agents of a local PASOE running on port 1234, in application 'develop'. For more detail see PASOE Management: trimming agents and agent sessions .
scl-pasoe-trim.cmd -s 1234 -a develop
Show all available information of the 'root' application on the PASOE that's running on port 9876 on server with ipaddress 192.178.156.1. The oemanager username is 'admin' and password is 'welcome'.
scl-pasoe-query.cmd -h 192.178.156.1 -s 9876 -p welcome -u admin
Display Active PASOE Sessions.
scl-pasoe-sessions.cmd -s 9876 -a smartpas_stream DLC: C:\Progress\OPENED~3 OpenEdge Release 11.7.4 as of Wed Oct 10 19:02:14 EDT 2018 ***************** SESSION(S) ******************** url: http://localhost:8820/oemanager/applications/smartpas_stream/sessions adapterType: bound: no sessionState: RESERVED sessionID: 4KzM71tTTo2A3gbUX1tnbA requestState: READY agentID: requestID: sessionType: SESSION_FREE sessionPoolID: VeB4sTgESiy9edl9kSUzKQ ablSessionID: lastAccessStr: 2019-11-28T09:54:08.174+0000 elapsedTimeMs: 5017 agentConnInfo: ?
Display active Agents.
scl-pasoe-agents -s 9876 -a smartpas_stream DLC: C:\Progress\OpenEdge117_64 OpenEdge Release 11.7.5 as of Fri Jun 7 09:06:03 EDT 2019 ***************** AGENT(S) ********************** url: http://localhost:8820/oemanager/applications/smartpas_stream/agents agentId: lSRytGdJQXqXUGutQ7_cGg pid: 3708 state: AVAILABLE
Display Agent Sessions.
proenv>scl-pasoe-agentsessions -s 9876 -agentpid 12492 DLC: C:\Progress\OPENED~3 OpenEdge Release 11.7.4 as of Wed Oct 10 19:02:14 EDT 2018 ***************** AGENT SESSIONS ********************** url: http://localhost:9876/oemanager/applications/12492/agents/12492/sessions AgentId: 12492 SessionId: 4 SessionState: IDLE StartTime: 2019-12-24T08:30:41.983 EndTime: ? ThreadId: -1 ConnectionId: ? SessionExternalState: 0 SessionMemory: 51.9 MB (54435655 Bytes) AgentId: 12492 SessionId: 7 SessionState: IDLE StartTime: 2019-12-24T08:30:41.983 EndTime: ? ThreadId: -1 ConnectionId: ? SessionExternalState: 0 SessionMemory: 65.4 MB (68534838 Bytes)
Display Agent Requests.
proenv>scl-pasoe-agentrequests -s 9876 -agentpid 12492 DLC: C:\Progress\OPENED~3 OpenEdge Release 11.7.4 as of Wed Oct 10 19:02:14 EDT 2018 ********************** AGENTREQUESTS ********************** url: http://localhost:9876/oemanager/applications/12492/agents/12492/requests AgentId: 12492 RequestProcName: Progress.Web.InternalWebHandler:HandleRequest SessionId: 7 ConnectionId: 2968 StartTime: 2019-12-24T08:34:26.029 EndTime: 2019-12-24T08:34:26.462 RequestNum: 0
Activate tracking for PID 20140
scl-pasoe-trackablobjects.cmd -s 9876 -agentpid 20140 -tracking on
Deactivate tracking for PID 20140
scl-pasoe-trackablobjects.cmd -s 9876 -agentpid 20140 -tracking off
Console report on used objects per session
scl-pasoe-trackablobjects.cmd -s 9876 -agentpid 20140 -tracking report -console DLC: C:\Progress\OpenEdge117 OpenEdge Release 11.7.3 as of Thu Apr 12 19:02:12 EDT 2018 ======== SESSION 4 ======== Source Object Handle ID Size Line ____________________________________________________________________________________________________ RunleakCode.p MEMPTR 1038 1024 52 RunleakCode2.p MEMPTR 1037 1024 48 ======== SESSION 7 ======== <No objects found for this session>
When -console is not supplied at the command line, the default browser is opened to display the ABL Trackable Objects information in Json format.
How does it work
The script calls Consultingwerk/Studio/Pasoe/scl-pasoe.p which is a wrapper for class Consultingwerk.Studio.Pasoe.PasoeManager.
Error handling
When a command is used which uses the -a parameter (application name) the available applications will be queried on the pasoe instance.
When for instance there was a problem with the deployment of the instance and no applications are deployed the script returns the error :
"No applications deployed on pasoe instance" |
When an application was supplied with -a but it's not found on the instance the following error is returned:
"Could not find application '<name>' in available applications: (With a list of available applications)" |
When the user name and password are not correct the following error message is returned:
"Not authorized, check user name and password" |
When the oemanager.war is not deployed (like on a production system) the following error message is returned:
"Please check if oemanager.war is deployed" |
When a command is executed which uses the -agentpid parameter to identify a process the process ID is verified before executing the command.
If there are no agents available the script will return error:
"Could not find any agent" |
When the script could find agents but not the chosen one the script will return error:
"Could not find agent '<agentpid>' for application '<name>', available agents: (With a list of available agents)" |
In all other error situations the http response status code and reason are displayed.
Please note that the scripts will first try to establish a connection using http, when that is not a success, the request is repeated using https.
This is shown in the error message:
Error[1] (0): Trying http connection: |
OpenEdge.net.pl
UNIX:
During initialization of the scripts there is a check if <DLC>/tty/netlib/OpenEdge.net.pl can be found, if this is not the case the script returns the following error:
"Cannot locate OpenEdge.Net.pl in '<DLC>/tty/netlib/OpenEdge.net.pl' please check your OpenEdge installation" |
Windows:
First it's checked if <DLC>/gui/netlib/OpenEdge.net.pl is available on the system. When that is not the case then it's checked if <DLC>/tty/netlib/OpenEdge.net.pl is available on the system.
If both are not available on the system the following error is returned:
"Cannot locate OpenEdge.Net.pl in ''<DLC>/gui/netlib/OpenEdge.net.pl' or ''<DLC>/tty/netlib/OpenEdge.net.pl' please check your OpenEdge installation" |
If either one is found on the system, this library will be used by the scl-pasoe scripts.