Share This:

The TSSA application server exposes various attributes about itself and its operations via a customized JMX interface which is accessible via the bljconsole and jmxcli. Both of these interfaces require authentication via BLSSO before allowing retrieval of the various TSSA specific attributes and values.  This poses a challenge when trying to use JMX-based monitors as they cannot perform BLSSO authentication and therefore cannot retrieve the TSSA-specific attributes.  Fortunately we can configure the TSSA application server to provide JMX access to these attributes without needing BLSSO authentication.  As always, the standard disclaimer: the below procedure is not supported, your mileage may vary, etc etc.

 

Configuration changes to monitor TSSA-specific attributes via a standard JMX interface

Edit the NSH/br/deployments/<deploymentName>/BlAdmin.xml and remove the internal="yes" from this line:

<option name="DisableSessionSupport" description="Disable Session Support [true,false]" internal="yes" type="boolean"/>  

becomes:

<option name="DisableSessionSupport" description="Disable Session Support [true,false]" type="boolean"/>  

 

Create a NSH/br/jmxremote.password file with the following contents (use whatever username and password you like):

jmxuser password

Create a NSH/br/jmxremote.access file with the following contents (you must use the same username as in the password file):

jmxuser readonly

Create a NSH/br/jmxremote.config file with the following contents:

com.sun.management.jmxremote.port=<port>

com.sun.management.jmxremote.ssl=false

com.sun.management.jmxremote.password.file=/opt/bmc/bladelogic/NSH/br/jmxremote.password

com.sun.management.jmxremote.access.file=/opt/bmc/bladelogic/NSH/br/jmxremote.access

com.sun.management.jmxremote.authenticate=true

java.rmi.server.hostname=<appserver hostname>

replace <port> with a distinct port for this appserver instance, and <appserver hostname> with the appserver's fqdn.

 

Ensure the file permissions on these files match the below:

-rw-r--r--. bladmin bladmin  jmxremote.access

-rw-r--r--. bladmin bladmin  jmxremote.config

-rw-------. bladmin bladmin  jmxremote.password

 

Run the below blasadmin commands:

blasadmin -s <instance name> set app JVMargs "-Dcom.sun.management.config.file=/opt/bmc/bladelogic/NSH/br/jmxremote.config

blasadmin -s <instance name> set management disablesessionsupport true

If you have multiple instances of the appplication server on the same host, you should create multiple jmxremote.config files and specific a different port for each instance in each file, and then specify the per-instance file in each instance's JVMArgs value.

 

After making all of the above changes, restart the application server service.

 

Attributes to Monitor with JMX

There are several attributes available for monitoring in the JMX interface and below is a list of attributes that should provide a good view into what is happening in your TSSA application server:

Bladelogic:type=ApplicationServer,name=Application Server:

FreeJvmMemory, MaximumJvmMemory, ResidentSetSize, TotalJvmMemory, UsedJvmMemory

 

Bladelogic:type=ApplicationServer,BlExec Service=BlExec Service,name=BlExec Service

NumPollingRequests, NumProcessingRequests, NumWaitingRequests

 

Bladelogic:type=ApplicationServer,Connections=Connections,name=Authentication Service

PendingAuthenticationRequests

 

Bladelogic:type=ApplicationServer,Connections=Connections,name=Client Connection Service

ActiveConnections, IdleConnections, OpenConnections

 

Bladelogic:type=ApplicationServer,Connections=Connections,name=Nsh Proxy Service

ActiveNshProxies, IdleNshProxies, OpenNshProxies

 

Bladelogic:type=ApplicationServer,Connections=Connections,name=SSL Connection Service

ActiveConnections, IdleConnections, OpenConnections

 

Bladelogic:type=ApplicationServer,Database Service=Database Service,Client-Connection-Pool=Client-Connection-Pool,name=Client-Connection-Pool

MinConn, NumAvailableConnections, NumConnections

 

Bladelogic:type=ApplicationServer,Database Service=Database Service,General-Connection-Pool=General-Connection-Pool,name=General-Connection-Pool

MinConn, NumAvailableConnections, NumConnections

 

Bladelogic:type=ApplicationServer,Database Service=Database Service,Job-Connection-Pool=Job-Connection-Pool,name=Job-Connection-Pool

MinConn, NumAvailableConnections, NumConnections

 

Bladelogic:type=ApplicationServer,Job Manager=Job Manager,name=Job Manager

NumberOfRunningJobs, NumIdleThreads

 

Summary

The above steps can be used to configure a TSSA application server for standard JMX monitoring.