Salesforce

12.1 PASOE Health check fails with No such attribute: HealthDetails

« Go Back

Information

 
Title12.1 PASOE Health check fails with No such attribute: HealthDetails
URL Name12-1-PASOE-Health-check-fails-attribute-HealthDetails
Article Number000155678
EnvironmentProduct: OpenEdge
Version: 12.1
OS: All supported platforms
Other: PAS HealthCheck
Question/Problem Description
Unable to collect the health statistics of an PASOE server instance
PASOE Health check on OpenEdge 12.1 fails with No such attribute: HealthDetails 
"oehealth -D" functionality is broken and throws an javax.management.AttributeNotFoundException 

 
Steps to Reproduce1) Create a PAS instance
$ pasman create -f -p 8820 -P 8821 -s 8822 %WRKDIR%\oepas2

2) Enable HealthCheck feature
$ cd oepas2\bin
$ tcman feature HealthCheck=on

3) Enable the collector to collect data from the probes:
$ tcman config psc.as.health.enabled=true

4) Start the PAS instance
$ cd oepas2\bin
$ tcman start

5) Run the PAS Health Check web app:
$ oehealth.bat -D
Clarifying Information
The command oehealth.sh -D works fine in OpenEdge 11.7.5 and 12.2
Error MessageERROR [hcthd-1] c.p.a.s.h.servlet.HealthResource - Error retrieving health view
javax.management.InstanceNotFoundException: PASOE:type=OEManager,name=HealthServiceManager
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1095)
...

Exception in thread "main" javax.management.AttributeNotFoundException: No such attribute: HealthDetails
at com.sun.jmx.mbeanserver.PerInterface.getAttribute(PerInterface.java:81)
at com.sun.jmx.mbeanserver.MBeanSupport.getAttribute(MBeanSupport.java:206)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:647)
at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:678)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1445)
Defect NumberDefect ADAS-20251
Enhancement Number
Cause
Since OpenEdge 12.1 oehealth uses getView,details instead of the HealthDetails attribute

In OpenEdge 12.1 the oehealth script has not been updated and still looks for the HealthDetails attribute which no longer exists:
healthQueryDetail='
{"O":"PASOE:type=OEManager,name=HealthServiceManager","A":"HealthDetails"}
Resolution
Upgrade to OpenEdge 12.2 where the oehealth script has been fixed.
Workaround
Modify the oehealth script use getView,details instead of the HealthDetails attribute:

Open the {CATALINA_BASE}/bin/oehealth.sh script and update the new query for UNIX:
healthQuery='
{"O":"PASOE:type=OEManager,name=HealthServiceManager","A":"Health"}'
healthQueryDetail='
{"O":"PASOE:type=OEManager,name=HealthServiceManager","M":["getView","details"]}'

Open the {CATALINA_BASE}/bin/oehealth.ps1 script and update the new query for Windows:
$healthQuery='
{"""O""":"""PASOE:type=OEManager,name=HealthServiceManager""","""A""":"""Health"""}'
$healthQueryDetail='
{"""O""":"""PASOE:type=OEManager,name=HealthServiceManager""","""M""":["""getView""","""details"""]}'
             
Notes
References to Other Documentation:

Manage Progress Application Server (PAS) for OpenEdge, Monitor PAS for OpenEdge instances - Use the OpenEdge HealthScanner  
https://docs.progress.com/bundle/pas-for-openedge-management/page/Use-the-OpenEdge-HealthScanner.html   
Keyword Phrase
Last Modified Date3/14/2023 12:00 PM

Powered by