Page tree
Skip to end of metadata
Go to start of metadata


The sections listed below will guide readers on how to manually install FusionReactor in order to monitor an application server. More information about the System Requirements and the Supported Application Servers can be found in the following link, System Requirements.

Please note that if you are installing the FusionReactor TRIAL with a MANUAL installation, you will need to get the FusionReactor JAR file, as well as the Production Debugger lib file (for your specific environment). Both of these files are also necessary if you are using the FusionReactor DEVELOPER edition or if you license the ULTIMATE Edition. For more information on installing the Production Debugger, please check out the link, FusionReactor Production Debugger Installation.

In case you don't want to manually install FusionReactor, you can use the automated installer option which will spare you the trouble of manually installing FusionReactor. For more information, please check out the following link, FusionReactor Full Installer.

Video Tutorial

The video tutorial below is going to guide you through the manual installation process.

Steps for Manual Installation

1) Download FusionReactor

If you don't have a copy of the latest FusionReactor, please visit the FusionReactor website here and download the FusionReactor.Jar file and the Debug Native Libraries file.

The "Debug Native Libraries" are the files required for the Production Debugger feature of FusionReactor. There is one for each operating system.

  LibraryOperating System
libfrjvmti_x64.soLinux 64-bit
libfrjvmti_x64.dylibMacOS 64-bit
frjvmti_x64.dllWindows 64-bit

You can save these downloaded files anywhere, initially. In later steps, you will be directed to copy them into a specific FusionReactor subfolder, representing each application server instance you will be monitoring.

2) Manually create a top-level FusionReactor folder

Before starting the actual manual install of FusionReactor into each instance, create first a FusionReactor folder, into which you will soon create other subdirectories to represent each of your instance(s) to be monitored. In Windows, you could create that as C:\FusionReactor, or in Linux/MacOS  you could create it its as /opt/FusionReactor.

From here forward, we will refer to this generically as {DIRECTORY-PATH}/fusionreactor/.

And under that, create a folder called "instance". This will hold the instance-specific folders you will create in the next step. 

3) Choose a name for each instance to be monitored

Before proceeding with the actual implementation, you will need to choose an instance name and port to be used by FusionReactor for each monitored instance.

The name will be used both as the name of a folder that you will create within the FusionReactor directory, and as a name for the instance as it will appear within the FusionReactor UI (those names can be different, but usually they are the same). Each instance name on a given server must be unique.

If you have more than one instance of Tomcat 8, for example, you may call them Tomcat8.1 or Tomcat8_Sales or even simply Sales.

Note: if you may ultimately have monitored instances on different servers, you could even include the server (or machine or domain name) in the name, but it's not necessary as you will use a specific IP address (or machine or domain name) when accessing the FusionReactor interface for each instance.

4) Choose a port for each instance to be monitored

You will also need to identify a unique port that will be used for each instance to be monitored. This is the port on which FusionReactor will listen, to present its web interface.

Typical ports used for FusionReactor instances are 8088, 8089, etc. (You may need to configure your firewall to allow access to the chosen ports, depending on the locations from which you intend to access FusionReactor.)

Obviously this port must be unique within each server (but need not be unique across multiple servers).

Note: FusionReactor also supports the option to allow access to its web interface by way of an external web server. Even if you will enable and use that feature, you still must choose (and in steps below, configure) a port for each instance.

5) Create a subfolder for each instance to be monitored

Now create a new folder for each instance, using the name you chose above, to be created within the {DIRECTORY-PATH}/fusionreactor/instance/ folder, as in {DIRECTORY-PATH}/fusionreactor/instance/{INSTANCE-NAME}/.  This will hold files to be used by FusionReactor for that instance.  

Following are some examples, if you were installing FusionReactor into a Tomcat 8 instance.

  • Linux:
    • /opt/fusionreactor/instance/tomcat8/
  • Windows: {DIRECTORY-PATH}\fusionreactor\instance\{INSTANCE-NAME
    • C:\FusionReactor\instance\tomcat8\

Note: You must give this folder privileges so that it can be written to/read from the application server instance it will represent. More information about the secure environments can be found here: Secured Environments.

6) Copy the downloaded FusionReactor files to that instance-specific folder

You can now copy the FusionReactor files you downloaded (the fusionreactor.jar and the "debug native library" file, as discussed above) to the directory you just created.

Note that since each instance has its own copy of the files, you can later choose whether and when to update each instance individually.

7) Manually configure your instance to point to the FusionReactor folder for that instance

With this instance-specific name, port, and folder now defined, and with the FusionReactor files in place, we're finally ready to proceed with the actual implementation of FusionReactor within your instance's JVM configuration.

  1. Stop the application server if it's running.
  2. Locate the JVM arguments file for your application server instance, and add the FusionReactor Java Agent path (-javaagent argument) and the Debug Native Library path (-agentpath arguments) to its existing Java arguments.

    Here is a generic example of how the JVM argument might be configured in any JVM/application server:

    Linux Example: -javaagent:/{DIRECTORY-PATH}/fusionreactor/instance/{INSTANCE-NAME}/fusionreactor.jar=name={NAME},address={PORT} -agentpath:{DIRECTORY-PATH}/fusionreactor/instance/{INSTANCE-NAME}/
    Windows Example: -javaagent:{DIRECTORY-PATH}\FusionReactor\instance\{INSTANCE-NAME}\fusionreactor.jar=name={NAME},address={PORT} -agentpath:{DIRECTORY-PATH}\FusionReactor\instance\{INSTANCE-NAME}\frjvmti_x64.dll

    Here is a specific example of how the JVM arguments might be added to Tomcat 8:

    Linux Example: FR_OPTS="-javaagent:/opt/fusionreactor/instance/tomcat8/fusionreactor.jar=name=tomcat8,address=8088 -agentpath:/opt/fusionreactor/instance/tomcat8/"
    Windows Example: -javaagent:C:\FusionReactor\instance\tomcat8\fusionreactor.jar=name=tomcat8,address=8088 -agentpath:C:\FusionReactor\instance\tomcat8\frjvmti_x64.dll

    Manual Installation/Application Server Examples

    For manual installation examples, including more detail, for specific different application servers, please see Manual Installation Application Server Examples.

  3. Save the changes.
  4. Start the application server. For Windows environments, this can be done by access the Windows Services, for Linux environments this can be done using the run commands for each server.
  5. Access FusionReactor via the browser and by typing http://localhost:{configured port}. An example of that is the following; http://localhost:8088.


If you are not able to access FusionReactor via the browser, below is a list of common issues that stop FusionReactor from starting.

  1. Make sure that the application server has started properly. For Windows environments, you can check if the service is running through the Windows Services, and for Linux environments by typing something like "ps -ef | grep {The name of the service running}".
  2. Make sure that the FusionReactor instance folder has been given privileges appropriate for the instance that will be writing to/reading from it. Again, for more information about the secure environments see, Secured Environments.
  3. Make sure that a Firewall configuration/policy is not blocking the traffic on the configured port that FusionReactor is listening.

You can also reach out to FusionReactor support, via

See also

  • No labels