Updating the AR Monitor configurations to add or modify Java arguments for plug-in servers
Remedy AR System provides out-of-the-box plug-in servers. Some plug-ins are based on Java. This topic guides you through the methods to update the AR Monitor configurations for plug-in servers to affect resources, performance, and other Java features.
The AR Monitor process controls all processes, and the way in which processes start, run, and stop. AR Monitor reads the armonitor.conf (UNIX) or armonitor.cfg (Windows) file to determine the processes that must be started and the method to run them.
You can modify the AR Monitor configuration in the following methods:
- By using the new Remedy Management Console.
- By using a text editor manually.
Before you begin
Before you update the AR Monitor file, ensure the following:
- The ports you configure are not in use by any other processes, for example JMX.
- You have sufficient disk space if you have configured an elevated Java logging parameter, such as a heap dump.
- You meet the Java syntax standard for your version. Refer to this topic in the Oracle documentation- https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html.
- The AR Monitor Process has all ports open and available if you choose to use the Remedy Management Console.
- The Default-Messaging-Port, AR Monitor RMI, AR Monitor Remote Object, and AR Monitor Notification ports are available on all AR System Servers if you choose to use the Remedy Management Console.
- Create a backup of all systems before modifying them.
To update the AR Monitor configuration file by using Remedy Management Console
- Log in to the Remedy Mid-Tier with an administrator account.
- Navigate to Remedy Management Console > AR System Server Group Console.
- On Remedy Management Console, click Manage Processes.
On the Manage Processes page, a list of all processes is displayed. By default, the list is unfiltered. - To filter down to a specific server, select Host and click the drop-down list to select a host.
You can also filter by type (AR Server, Mid-Tier, or Smart IT) and name (combination of Host and Type).
A table with all the filtered processes for the specific host is displayed. - To modify a process command, select Update from the Operation drop-down list, and select a process in the table.
- The Command field in the top right corner displays the information of the plug-in server. Click Expand
to open the command window and modify the command.
For example, if the Default Java plug-in server plug-in is selected, the command window is displayed as shown in the following figure: - After modifying the command, click OK, and then click Play
The following note is displayed on the screen:
"Process has not been stopped, changes will not take effect until process will be restarted (ARNOTE 148065)" to save the changes.
- Stop and start the plug-in for the changes to take effect.
From the Operation drop-down list, select Restart, and click Play to stop and start the process.
To update the AR Monitor configuration file manually
- Open the AR System Monitor configuration file by using a text editor, such as Notepad or VI.
(Windows) <RemedyInstallDir>\arsystem\conf\armonitor.cfg
(UNIX) /etc/arsystem/$ServerName/armonitor.conf - Find the process that you want to modify.
For example, the 'Default Java plug-in Server' contains a -classpath of "%RemedyInstallDir%\ARSystem\plug-insvr". - Modify it with the required parameters.
- Save the file.
This method requires a full stop and start of the AR System Server for any changes to take effect.
Common operations added to Remedy Plug-in Server JVMs
Operation | Description | Parameters to be added | Reference |
---|---|---|---|
Add JMX monitoring |
| -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=<port> -Dcom.sun.management.jmxremote.ssl= <true | false> -Dcom.sun.management.jmxremote.authenticate= <true | false> The parameters are added at the beginning of the command before the -classpath. An example is shown as follows: /opt/openjdk/bin/java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -classpath "/opt/bmc/remedy/arsystem/plug-insvr" com.bmc.arsys.plug-insvr.ARplug-inServerMain -x <ServerName> -i /opt/bmc/remedy/arsystem -alias BMC:DefaultJavaplug-inServer | To learn more about configuring JMX, see the Java's documentation - https://www.oracle.com/java/technologies/javase/docs-jmx-jsp.html |
Add heap dump |
| -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=<Dir\File> -XX:OnOutOfMemoryError="taskkill /PID %p /F" This is added at the beginning of the command before the -classpath. Here is a example: /opt/openjdk/bin/java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath="/opt/dump.bin" -XX:OnOutOfMemoryError="taskkill /PID %p /F" -classpath "/opt/bmc/remedy/arsystem/plug-insvr" com.bmc.arsys.plug-insvr.ARplug-inServerMain -x <ServerName> -i /opt/bmc/remedy/arsystem -alias BMC:DefaultJavaplug-inServer | To learn more about Heap Dumps, see the Java documentation - https://docs.oracle.com/en/java/javase/15/troubleshoot/prepare-java-troubleshooting.html |
Modify the heap memory Settings |
| -Xms<int>m -Xmx<int>m This is added at the beginning of the command before the -classpath. Here is a example: /opt/openjdk/bin/java -Xms128m -Xmx2048m -classpath "/opt/bmc/remedy/arsystem/plug-insvr" com.bmc.arsys.plug-insvr.ARplug-inServerMain -x <ServerName> -i /opt/bmc/remedy/arsystem -alias BMC:DefaultJavaplug-inServer | To learn more about Java Memory Settings, |
Add garbage collection settings |
| -XX:+DisableExplicitGC -XX:+UseCompressedOops -XX:+UseConcMarkSweepGC -XX:NewRatio=<int> This is added at the beginning of the command before the -classpath. Here is a example: /opt/openjdk/bin/java -XX:+DisableExplicitGC -XX:+UseCompressedOops -XX:+UseConcMarkSweepGC -XX:NewRatio=2 -classpath "/opt/bmc/remedy/arsystem/plug-insvr" com.bmc.arsys.plug-insvr.ARplug-inServerMain -x <ServerName> -i /opt/bmc/remedy/arsystem -alias BMC:DefaultJavaplug-inServer | To learn more about Java Garbage Collection settings, see the Java documentation - https://docs.oracle.com/cd/E15523_01/web.1111/e13814/jvm_tuning.htm#PERFM150 |
Force modify IPV4 or IPV6 |
| -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false These settings are added at the beginning of the command before the -classpath. Here is a example: /opt/openjdk/bin/java -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false -classpath "/opt/bmc/remedy/arsystem/plug-insvr" com.bmc.arsys.plug-insvr.ARplug-inServerMain -x <ServerName> -i /opt/bmc/remedy/arsystem -alias BMC:DefaultJavaplug-inServer | To learn more about forcing Java to use network protocols, see the Java documentation - https://docs.oracle.com/javase/7/docs/api/java/net/doc-files/net-properties.html |
Modify the Java classpath |
| Here are two examples of the classpath argument being used, one with only one directory, and another with 2 directories and a single file: -classpath "/opt/bmc/remedy/arsystem/plug-insvr" -classpath "E:\BMC\ARSystem\plug-insvr;E:\Oracle\Java\JDK\lib\bmcext\*;E:\BMC\ARSystem\plug-insvr\arplug-insvr91_build009.jar" These are already in place for all Remedy plug-in Servers, only modify the string located in the quotes. Here is a example: /opt/openjdk/bin/java -classpath "E:\BMC\ARSystem\plug-insvr;E:\Oracle\Java\JDK\lib\bmcext\*;E:\BMC\ARSystem\plug-insvr\arplug-insvr91_build009.jar" com.bmc.arsys.plug-insvr.ARplug-inServerMain -x <ServerName> -i /opt/bmc/remedy/arsystem -alias BMC:DefaultJavaplug-inServer | To learn more about Java's Classpath argument, see the Java documentation - https://docs.oracle.com/javase/7/docs/technotes/tools/windows/classpath.html |
Modify SSL/TLS parameters |
| -Djavax.net.debug= <all | ssl> These parameters are added at the beginning of the command before the -classpath as shown in the following example: /opt/openjdk/bin/java -Djavax.net.debug=all -Djdk.tls.client.protocols=TLSv1.2 -javax.net.ssl.keyStore="/opt/keystore" -javax.net.ssl.keyStorePassword=mypassword -classpath "/opt/bmc/remedy/arsystem/plug-insvr" com.bmc.arsys.plug-insvr.ARplug-inServerMain -x <ServerName> -i /opt/bmc/remedy/arsystem -alias BMC:DefaultJavaplug-inServer | To learn more about SSL/TLS using Java arguments, see the Java documentation - https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#SSLOverview |
Related topics