Troubleshoot OneAgent installation on Solaris
Find out how to solve problems related to installing OneAgent on Solaris.
While downloading, you may encounter the following error:
Releasing 0x0000000239ae1890 (new refcount 1). Initiating SSL handshake. SSL handshake failed. Closed fd 5 Unable to establish SSL connection.
This can be caused by selecting the wrong SSL or TLS protocol on handshake. As different operating systems act differently (both server and client side), you must specify some protocols manually under certain conditions.
For this specific case, to select the correct protocol, you must specify
--secure-protocol=tlsv1_2 as an additional parameter of the
wget command. The command should appear as follows:
wget --secure-protocol=tlsv1_2 -O Dynatrace-OneAgent-Solaris-xxx-1.xxx.xxx.zip "https://xxx/xxx/api/v1/deployment/installer/agent/solaris/paas/latest?Api-Token=xxx&arch=x86"
It can also be set permanently by creating the file
~/.wgetrc with the following content:
secureprotocol = tlsv1_2
You may encounter the following error message when you start your Java application:
severe [hooking ] Could not find required opcodes in caller trying to resolve main
This happens if you use one of the unified monitoring scripts
dynatrace-agentXX.sh but additionally have OneAgent referenced in
dynatrace-java-env.shisn't called anywhere in your shell when you use the
dynatrace-java-env.shis deprecated and should only be used as a fallback.
Check for and remove the following parameter from your Java command line or startup scripts (specific directory may vary):
Following this, the error message should go away.
You may encounter an error like this when you use
dynatrace-agentXX.sh in a shell script.
Info: using DT_HOME: /opt/dynatrace/oneagent .profile LD_PRELOAD_64: parameter not set
This happens if use
set -u to treat unset variables and parameters as errors.
dynatrace-agentXX.sh does export variables which, though they may not yet exist in your script, are nevertheless needed and key to proper function. To overcome this, call
set +u ahead of
dynatrace-agentXX.sh in your script.
# avoid error set +u DT_HOME=/opt/dynatrace/oneagent export DT_HOME . $DT_HOME/dynatrace-agent64.sh
You may encounter an error like this when you set
LD_PRELOAD in your execution environment and call sudo or su. This happens because OneAgent isn't installed in the secure
ld_preload directory. This error message has no negative impact and can be ignored. To avoid this, ensure that you don't set
LD_PRELOAD in an execution context where you want to use sudo.
Following installation of OneAgent, your Apache web server must be completely restarted to enable monitoring. To do this correctly, it's important to understand the difference between "partial" and "complete" restarts. In the case of partial restarts, the main Apache process re-reads its configuration files, re-opens its log files, and then restarts its worker processes. OneAgent however, requires a complete Apache web server restart in which all workers and—most importantly—the main Apache process are shut down entirely and then restarted.
See Stopping and Restarting Apache HTTP Server for more information on the different types of available restarts.
How to perform a complete restart
You may be accustomed to restarting Apache by issuing an
apachectl restart command. However, this command only results in a partial Apache restart.
To execute a complete Apache restart and enable deep monitoring with Dynatrace OneAgent, you need to first invoke a complete shutdown using the
apachectl stop command. Only following this step can you restart the server using
apachectl start .
It's fine to use
service apache2 restart on Ubuntu systems. Note however that whatever commands you use, you'll likely need superuser rights (sudo).
If you have trouble setting the environment variables
Shut down the managed nodes and Node Manager (make sure no process is running under the functional ID).
Back up the
startNodeManagerMx.shscript to add the lines below.
commEnv.sh, refer to the script under
DT_HOME="/opt/dynatrace/oneagent" export DT_HOME source "$DT_HOME/dynatrace-env.sh" LD_PRELOAD="$DT_HOME/agent/lib/liboneagentproc.so" export LD_PRELOAD
Start a new session.
Start Node Manager.
Get a PID while Node Manager is working.
Use the command line
$ pargs -e pid |grep LDto see if the environment is there.
aabb@aaaabbb01a:/apps/wldomains/wls-aabb-1a$pargs -e 26531 |grep LD envp: envp: LD_PRELOAD=/opt/dynatrace/oneagent/agent/lib/liboneagentproc.so
Start managed nodes from the console.
Check the log directory to make sure a new log is generated:plaintext
ls -ltr /opt/dynatrace/oneagent/log/java
For more details on setting up Oracle WebLogic monitoring, see Configure Oracle WebLogic via startup script