The program attached to this article will generate the state of all ABL Sessions running on the configured PASOE instance using OEJMX. The purpose of such program is to make it easier to generate information regarding the state of all ABL Sessions that would be running during performance slowness where OEM and/or REST Apis would not return a result hence OEJMX could be an alternative.
There are 2 files:
runitst.sh - A sample script to call the program passing the required parameters
hbjmx.p - The ABL program that will find the PASOE Agent PIDs for a given instance and will run the following OEJMX queries against the collected PIDs:
-OEJMXAgents -OEJMXGetAgentStatus -OEJMXDefault -OEJMXGetSessionMetrics -OEJMXGetMemory
To configure it: Inside a PASOE instance: $CATALINA_BASE, create the hbjmx directory Place this program and the script inside the newly created $CATALINA_BASE/hbjmx directory Run the following command line or embed it in a shell script to be called by an OS scheduler tool: bpro -p hbjmx.p -param "/usr/wrk/oepas100,oepas100,1,1" hbjmx.p accepts 4 parameters as below after the -param clause in the command live above: 1 - $CATALINA_BASE : the home directory of the PASOE instance being called by hbjmx.p 2 - PASOE Instance Name : the name of the PASOE instance itself 3 - Control Log generation : use 1 to enable logging of this program´s activities or 0 to disable it (hbjmx.log) 4 - Delete Temp Files : use 1 to enable temporary files deletion or 0 to disable it If for some reason it is needed to get a log from the Progress client running this piece of code, enable clientlog: bpro -p hbjmx.p -param "/usr/wrk/oepas100,oepas100,1,1" -clientlog mylog.txt -logginglevel 4 -logentrytypes 4GLTrace
After the execution, some hbjmx*.txt files will be created in the $CATALINA_BASE/temp directory with the result of the OEJMX queries performed.
hbjmx-getSessionMetrics-out-*.txt - will contain information about the ABL Sessions and their status, like IDLE or ACTIVE, etc hbjmx-getAgents-out-*.txt - will contain information about the PASOE Agent itself, its status, AgentID, etc hbjmx-getMemory-out-*.txt - will contain information about HeapMemoryUsage and PeakUsage, etc hbjmx-getDefault-out-*.txt - will contain information about the Applications, Agents and some Metrics, etc
These calls can be customized inside the hbjmx.p program to call or generate only the desired OEJMX queries.
The file format used is this: hbjmxst-<OEJMX-call>-<Date>-<Time>.extension
One of the main usages of this program would be to collect data that could be further analyzed to identify trends in terms of Memory Usage, Agents and Session States, especially when facing performance problems. With that in mind, this program will not delete the data in the $CATALINA_BASE/temp directory as that data could be used to detect a trend in one of the parameters being analyzed.
*It is important to fix the directories in runit.sh - to reflect the needs of the environment where it will be performed.
This tool is not supported by Progress Software. This was meant to be used in a Development/Test environment.
|