# Java Trace
This package provisions the ServicePilot Agent to collect web transaction traces from Java applications and clients of Java web servers.
ServicePilot agents can be provisioned to instrument Java applications to log their web connections. These logs are stored in the ServicePilot Apptrace data collection. These statistics can then be used to produce AppTrace statistics by querying this database using the trace-apptrace-query package. Details collected per transaction include:
- Response time
- Return code
Network Flows - It is is necessary to ensure network connectivity between the ServicePilot Agent and the ServicePilot Manager. In case of a network infrastructure using a firewall, all the ports below must be opened:
- ServicePilot Manager Web server access (by default TCP/80 when using HTTP or TCP/443 when using HTTPS although this port is configurable): Between ServicePilot Agent and ServicePilot Manager
- ServicePilot Manager Web server access (by default TCP/80 when using HTTP or TCP/443 when using HTTPS although this port is configurable): Between client web browsers and ServicePilot Manager if RUM is activated
Third Party Configuration
If a Java Development Kit (JDK) is used to launch the Java applications, the ServicePilot Agent can dynamically provision the monitoring of a Java application. If a Java Runtime Environement is used then the launch command will need to be manually modified to include the ServicePilot Java trace library. Add
-Djavaagent=to the Java application lauch command including the name of the resource added to link the manually provisioned Java application with the ServicePilot resource.
Antivirus software might conflict with the instrumenting of Java applications. ServicPilot Agents injects code into the Java applications to be monitored. Log files are then created in the ServicePilot Program Files Temp folder. These operations might need to be excluded from Antivirus checks.
- ServicePilot Manager minimum version: 9.1
- ServicePilot Agent minimum version: 9.1 installed and configured
Before adding a resource to monitor, make certain that all pre-requisites are in place and if a ServicePilot Agent is required, that it is communicating correctly with the ServicePilot Manager.
Add resource using Views Configuration web interface
- As an administrative user of ServicePilot, open the ServicePilot web interface.
- Navigate to Administration. The Configuration > Views web page will open.
- Click on the view in which to place the new resource in the Views hierarchy on the left of the interface. The View editor section will show the existing view contents.
- From the Packages list on the right of the interface, click and drag the trace-java package into the View editor and let go.
- The Resource properties dialog box will open to allow resource configuration.
- Click OK to close the Resource properties dialog box. Note that the dialog box will not close if required parameters are not set.
- Click Save to apply the new resource to ServicePilot configuration.
|Object Type||License object Consumed||Condition|
Key field notes
In the Monitoring Policies tab, specify the policy or policies to apply to the resource
- Processes tab:
- Processes: Processes to monitor. One process definition per line and each line with the following format: Name,Alias,CommandLine,ExecutablePath
For Windows systems, it is posible to get a list of processes by opening a Windows Command Prompt as Administrator with escalated UAC privileges and running
wmic process|more. The process Name is 16th parameter, the process CommandLine is the 2nd parameter and the ExecutablePath is the 8th parameter.
For Linux systems, it is possible to get a list of processes by running a
ps -efcommand. Note that output of this command might be truncated. The ServicePilot Linux Agent obtains the process name from
/proc/#/statfiles. The process name is found between the first set of parentheses. The process command line is obtained from the
/proc/#/cmdlinefile. This file needs to be opened with a text editor rather than using
catso that special delimiter characters are seen. Replace these with spaces and take the full content of this file as the command line. The executable path is the first part of the
cmdlinefile until the first delimiter.
ServicePilot Agent parameters the processes being monitored to save log files ServicePilot\Temp\Log files.