How do I install Dynatrace OneAgent on Solaris?

Dynatrace supports Oracle Solaris (x86 and SPARC) for Java, Apache HTTP server and IBM HTTP server. If your infrastructure is based on these technologies you can use Dynatrace OneAgent to effectively monitor your hosts, services, and user experience.

Follow the steps below to download and install Dynatrace OneAgent on Solaris:

Choose the CPU architecture of your environment.

Click Copy to copy the wget command.

Log into your Solaris host and execute the wget command.

Attention:

  • The wget command isn't installed on Solaris by default. Either install it or use an alternative means of downloading OneAgent.

Create a folder on your local system for OneAgent (for example, /opt/dynatrace/oneagent) and unzip the zip-archive into the folder.

Note:
In contrast to other platforms, root access isn't required for installation of OneAgent on Solaris. OneAgent can be installed in any directory.

  • As all monitored applications need to be able to read the library, ensure that the permissions allow this.
  • Be sure to reference the folder correctly in the subsequent steps of your deployment.

On Solaris, Dynatrace only supports Java and Apache HTTP Server applications and as such you need to decide which applications to monitor. You can do this just for a single application, or shell wide. Just follow the relative instructions below:

Monitoring a single application

To monitor a single application, execute your command and prepend it with the following commands.

DT_HOME=/opt/dynatrace/oneagent
export DT_HOME  
LD_PRELOAD_64=$DT_HOME/agent/lib64/liboneagentproc.so  
export LD_PRELOAD_64    
LD_PRELOAD=$DT_HOME/agent/lib/liboneagentproc.so  
export LD_PRELOAD

The DT_HOME variable points to your Dynatrace OneAgent installation folder. You can omit either the 32-bit or 64-bit entry, depending on your environment.

Note:

If you are upgrading Dynatrace OneAgent from version prior to v1.141, make sure to change the paths for Java and Apache instrumentation to point to the files mentioned above. Only those files will be automatically updated during the consecutive OneAgent upgrades.

Configure WebSphere Application Server via the Administrative console

The unified approach works just as well for WebSphere, however you may want to configure your WebSphere via the Administrative console. This works for OneAgent v1.141 and above.

Start the WebSphere server via the WebSphere UI or the command line. For example: /opt/ibm/WebSphere<version>/AppServer/bin/sh startServer.sh server1

Open the Administrative Console via the WebSphere UI or enter the URL in your web browser. For example:http://localhost:9060/ibm/console. When accessing the server remotely, specify the machine´s hostname rather than localhost.

Enter your user ID and password and then log in.

Navigate to Server > Application servers > [yourprofilename]> Java and Process Management > Process Definition > Environment Entries > New.

Add 3 entries to the list.

DT_HOME=/opt/dynatrace/oneagent
LD_PRELOAD_64=/opt/dynatrace/oneagent/agent/lib64/liboneagentproc.so  
LD_PRELOAD=/opt/dynatrace/oneagent/agent/lib/liboneagentproc.so  

You can omit either the 32-bit or 64-bit entry, depending on your environment. The DT_HOME variable must point to your OneAgent installation folder.

Apply the changes and save the configuration.

Restart the server. The newly started WebSphere server should show up in Dynatrace.

Configure Oracle WebLogic via the startup script

To monitor Oracle WebLogic you need to add the following lines to the WebLogic startup script (startWebLogic.sh)

# Monitor WebLogic with Dynatrace OneAgent
DT_HOME=/opt/dynatrace/oneagent
export DT_HOME
LD_PRELOAD_64=$DT_HOME/agent/lib64/liboneagentproc.so
export LD_PRELOAD_64
LD_PRELOAD=$DT_HOME/agent/lib/liboneagentproc.so
export LD_PRELOAD

# WebLogic checks and startup, this is part of your script, add the 3 lines prior to this.
echo "starting weblogic with Java version:"

${JAVA_HOME}/bin/java ${JAVA_VM} -version

if [ "${WLS_REDIRECT_LOG}" = "" ] ; then
   echo "Starting WLS with line:"
echo "${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Dweblogic.Name=${SERVER_NAME}
         -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${PROXY_SETTINGS} ${SERVER_CLASS}"

   ${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Dweblogic.Name=${SERVER_NAME}
         -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${PROXY_SETTINGS} ${SERVER_CLASS}

else
   echo "Redirecting output from WLS window to ${WLS_REDIRECT_LOG}"

   ${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Dweblogic.Name=${SERVER_NAME}
         -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${PROXY_SETTINGS}
         ${SERVER_CLASS} 2>&1 >"${WLS_REDIRECT_LOG}"

fi

You can omit either the 32-bit or 64-bit entry, depending on your environment. The DT_HOME variable must point to your OneAgent installation folder. Restart the server. The newly started WebLogic server should show up in Dynatrace.

Monitoring every Java and Apache HTTP service in your execution context

You can set up monitoring of every application in your current application context. To do this, add the following lines to the startup script of your script or shell. Ensure that they are executed prior the application you want to monitor. You should not do this system-wide or for login users.

You can set up OneAgent to monitor every application in your current application context. To do this, add the following code in your script or shell. You should not do this system-wide or for login users.

DT_HOME=/opt/dynatrace/oneagent
export DT_HOME
LD_PRELOAD_64=$DT_HOME/agent/lib64/liboneagentproc.so
export LD_PRELOAD_64
LD_PRELOAD=$DT_HOME/agent/lib/liboneagentproc.so
export LD_PRELOAD

Note:

LD_PRELOAD will not carry over into sudo or su calls. Moreover, calling sudo in an execution context that has LD_PRELOAD set will lead to an error message that the library is in a non-secure location. This has no negative impact. This message can be ignored.

Troubleshooting

OneAgent versions older than v1.137 and fallback

If your OneAgent is older than v1.137, or if you have problems with the unified monitoring approach, you can inject OneAgent manually.

Continue with finalization of OneAgent installation on Solaris.