How to force KMs to use a custom version of JRE/JDK

This article explains how to force KMs to use a custom version of Java (JRE/JDK) located in a specific directory.

Related Topics

Introduction

By default, the JRE package provided by Sentry Software is installed in the PATROL_HOME/SEN_jre directory and is automatically detected by the KMs in normal conditions. You can however use a custom version of JRE/JDK supported by our KMs and set the javaPath advanced configuration variable accordingly. More details can be found in the Advanced Configuration Variables section of the KM’s documentation.

Procedure

For Hardware Sentry KM, Monitoring Studio X, Storage Analyzer KM

  1. Edit your policy

  2. Click on the Configuration Variables tab

  3. Add the following variable:

     For Hardware Sentry KM: /SENTRY/HARDWARE/javaPath
    
     For Monitoring Studio X: /SENTRY/X/javaPath
    
     For Storage Analyzer KM: /SENTRY/STORAGE/javaPath
    
  4. Enter the full path of the bin directory of your JRE/JDK where the java/java.exe binary is located:

    For example:

        C:\Java\jdk1.8.0_101\bin (on Windows)
       /opt/java/jdk-11.0.8/bin" (on Linux)
    
  5. Apply the policy and restart your PATROL Agent (mandatory)

In the PATROL Agent’s configuration, once the policy has been applied, you should see this:

  "/SENTRY/HARDWARE/javaPath" = { REPLACE = "C:\\Java\\jdk1.8.0_101\\bin" }  (on Windows)

  "/SENTRY/STORAGE/javaPath" = { REPLACE = "/opt/java/jdk-11.0.8/bin" } (on Linux)

  "/SENTRY/X/javaPath" = { REPLACE = "C:\\Java\\jdk-17.0.3+7\\bin" } (on Windows) 

Note: If you are using the KM in Classic Mode with the Monitoring Studio X Console, this procedure can be performed in the Java Settings section:

Java Settings

Verify that the KM’s Java engine is using the custom version of JRE, for example:

On Windows:

PS C:\Windows\system32> Get-WmiObject Win32_Process |   Where-Object {$_.Name -like 'java*'} |   Select-Object ProcessId,ParentProcessId,Name,commandline,PeakWorkingSetSize,PageFileUsage,PageFaults,ThreadCount |   Format-List
ProcessId          : 48304
ParentProcessId    : 54388
Name               : java.exe
commandline        : "C:\Java\jdk1.8.0_101\bin\java.exe"  -Xms128m -Xmx512m
                 -javaagent:"C:\BMCSoftware\Patrol3\bin\MS_HW_matsya-core-classloaderagent.jar" -jar
                 "C:\BMCSoftware\Patrol3\bin\MS_HW_matsya-core-java.jar" -locale:C
PeakWorkingSetSize : 165996
PageFileUsage      : 253000
PageFaults         : 236114
ThreadCount        : 39

On Linux:

patrol@pptagent:/opt/bmc/Patrol3/config$ ps -ef | grep java
patrol    3049  2631  0 10:34 ?        00:01:06 /opt/java/jdk-11.0.8/bin/java -Xms128m -Xmx2048m -javaagent:/opt/bmc/Patrol3/Linux-2-6-x86-64-nptl/../bin/SKM_matsya-core-classloaderagent.jar -jar /opt/bmc/Patrol3/Linux-2-6-x86-64-nptl/../bin/SKM_matsya-core-java.jar -locale:C
patrol    3055  2631  1 10:34 ?        00:04:04 /opt/bmc/Patrol3/Linux-2-6-x86-64-nptl/../SEN_jre/bin/java -Xms128m -Xmx512m -javaagent:/opt/bmc/Patrol3/Linux-2-6-x86-64-nptl/../bin/X_matsya-core-classloaderagent.jar -jar /opt/bmc/Patrol3/Linux-2-6-x86-64-nptl/../bin/X_matsya-core-java.jar -locale:C
patrol    3260  2631 25 10:34 ?        01:32:31 /opt/bmc/Patrol3/Linux-2-6-x86-64-nptl/../SEN_jre/bin/java -Xms128m -Xmx512m -javaagent:/opt/bmc/Patrol3/Linux-2-6-x86-64-nptl/../bin/MS_HW_matsya-core-classloaderagent.jar -jar /opt/bmc/Patrol3/Linux-2-6-x86-64-nptl/../bin/MS_HW_matsya-core-java.jar -locale:C

For the legacy KMs (HP 3PAR, EMC Disk Arrays, Dell EMC KMs, Hitachi Disk Arrays, etc.)

  1. Edit your policy

  2. In the Advanced Settings section, add the javaPath configuration variable and enter the full path of the bin directory of your JRE/JDK where the java/java.exe binary is located.

    For example:

     C:\Java\jdk1.8.0_101\bin (on Windows)
     /opt/java/jdk-11.0.8/bin" (on Linux)
    

Adding Configuration Variable

  1. Apply the policy and restart your PATROL Agent (mandatory).