Setup TDA Step by Step Guide

14
Setup TDA Step by Step Guide

description

TDA

Transcript of Setup TDA Step by Step Guide

Page 1: Setup TDA Step by Step Guide

Setup TDA Step by Step Guide

Page 2: Setup TDA Step by Step Guide

Part 1 Tomcat

Tomcat can use JMX or Jvmmond to trigger the TDA. Jvmmond is used for tomcat using SAPJVM, JMX

is used for tomcat using non-SAPJVM. By default setup in BOE, it will use the SUN JVM. Please choose

different setup steps below.

Prerequisite

Finish Tomcat managed setup according to wiki:

http://wiki.sdn.sap.com/wiki/display/SMSETUP/Managed+System+Setup+of+Apache+Tomcat+System+

in+Solman+7.1

TDA Setup using JMX

Step 1. Be sure you have completely finished JMX setup part (Part 4.1 JMX remote connection

configuration in Tomcat setup wiki). Check Wily EM that you can see the metrics for JMX.

Page 3: Setup TDA Step by Step Guide

Step 2. Check in Solman for Managed System Configuration of tomcat. In Step 4 – Enter System

Parameters, you have input the user and password you set in Step 1.

Step 3. Check in Solman for what kind of method is used for TDA.

Goto SMD Agent Administration => Application Configuration =>

com.sap.smd.agent.application.remoteos, then choose your host, find the parameter

“tda.preferred.atc.protocol”. This value is configured by Solman according to tomcat’s jvm information in

LMDB, not the jvm it really used. Be sure it is “jmx”, if not, customize the value to “jmx”.

Step 4. Now it shall work, enter TDA page, click “Trigger Thread Dump” button first to trigger one

thread dump, then “Analyze”.

Page 4: Setup TDA Step by Step Guide

If everything is fine, you can get thread dump list like following.

Trouble shooting

Access to consolelog failed.

Page 5: Setup TDA Step by Step Guide

For this error message, after trigger some thread dump, check your SMD Agent folder, for example

D:\usr\sap\DAA\SMDA98\SMDAgent\temp\, to find if TDA folder. Finally it shall have these jmx_*

thread dump files.

If the TDA folder is not exist or trigger thread dump doesn’t add a new file here, it means the trigger

action failed through SMD agent.

1. Check if SMD Agent is running.

2. Check the manage system setup step 6 – Configure Automatically (Introscope Host Adapter), if

the light is not green or needs update, setup Introscope Host Adapter again.

3. Check JMX settings (including metrics in EM and user password settings for JMX in Solman)

Page 6: Setup TDA Step by Step Guide

TDA Setup using Jvmmond

For this part, there is a Note 1608714 with setup pdf attached. Here is a simple version for step by step

setup.

Step 1. Check what kind of JVM is really used by tomcat.

For window, execute “Tomcat Configuration” program and check the it in Java Tab. If you can’t

determine whether it is SAPJVM, goto that folder and type “java -version” in cmd.

If it is not SAPJVM like screenshot which is a default installation within BOE installation, change it to

SAPJVM, for example, use the SMD Agent’s SAPJVM.

For fully supporting jvmmond features, the SMDAgent must run with SAPJVM versions mentioned

below:

1. For SAP JVM 1.5 build: 5.1.066 or above

2. For SAP JVM 1.6 build: 6.1.027 or above

Step 2. Check what method is used by Solman to trigger TDA.

Goto SMD Agent Administration => Application Configuration =>

com.sap.smd.agent.application.remoteos, then choose your host, find the parameter

Page 7: Setup TDA Step by Step Guide

“tda.preferred.atc.protocol”. This value is configured by Solman according to tomcat’s jvm information in

LMDB, not the jvm it really used. Be sure it is “sapjvm”, if it is “jmx”, customize the value to “sapjvm”

like screenshot.

Step 3. Add the vm tag into tomcat VM parameter.

VM Tag is an identifier for ThreadDumpAnalysis application and has to be unique on each host, and it

will be used later in Solman parameters. For example, set:

-Dcom.sap.vm.tag=tomcat_server0

Remind: After change jvm and jvm parameters, restart tomcat is needed.

Page 8: Setup TDA Step by Step Guide

Step 4. Define parameters in Solman.

Goto SMD Agent Administration => Application Configuration =>

com.sap.smd.agent.application.global.configuration, select your host, then input three new parameters:

Name Value

<Long SID>/<systype>/jmdport the port jvmmond is listening

<Long SID>/<systype>/jmdpwd the password used by jvmmond

<Long SID>/<systype>/<instance>/systag the tag you defined in tomcat vm parameter

For tomcat, <systype> is “ATC”, <instance> is always the hostname where managed system is running.

For example,

Step 5. Start Jvmmond.

Enter your SAPJVM bin folder, for example, D:\usr\sap\DAA\SMDA98\exe\sapjvm_6\bin. Type “java -

version” to ensure its version meets requirement (In step 1), otherwise you can’t input password. Then

type following command to start:

jvmmond -password:stdin -port <your_port> (the port is defined in step 4, then you required to input your password which also defined in step 4)

For example,

Step 6. Now it shall work. After trigger thread dump by click the button, you can analyze the results.

Page 9: Setup TDA Step by Step Guide

If everything is fine, you can find the results.

Trouble shooting

When you click Analysis button, you may get “Access to consolelog failed.”

Goto your SMD Agent folder, for example

Page 10: Setup TDA Step by Step Guide

D:\usr\sap\DAA\SMDA98\SMDAgent\temp\TDA\DEW00001\dewdfgwp00364\threaddump, After you

trigger a thread dump, you shall find a jmd_* thread dump file here.

If these files not generated, check following step:

1. Check if the SMD agent is running, try to restart it once after adding parameters in step 4.

2. Check the parameters settings in Solman, be sure no type errors.

3. Check the manage system setup step 6 – Configure Automatically (Introscope Host Adapter), if the

light is not green or needs update, setup Introscope Host Adapter again.

4. Check the vm used by tomcat and parameters, sometimes it will not updated after you changing it and

restart. Find the tool “jvmmon-gui.exe” in your SAPJVM bin folder. Double click to execute it.

5. First step to find your tomcat’s PID in task manager.

Found it in jvmmon-gui and check the vm and its version first.

Then check the vm parameter.

Page 11: Setup TDA Step by Step Guide

Remind: In Note 1608714, it said jvmmond and tomcat shall started under the same user.

But in my test setup, it is not needed. If you still can’t avoid the error message, just try it according to the

note.

Part 2 BOE Servers

Refer to the set up pdf in Note 1608714.

One simple example for two BOE servers (AdaptiveProcessingServer,

CrystalReportProcessingServer) and Tomcat.

Tomcat:

Page 12: Setup TDA Step by Step Guide

CMC:

Page 13: Setup TDA Step by Step Guide

Solman:

Page 14: Setup TDA Step by Step Guide

FAQ

1. It is unclear how the systag property is to be used. We have many BOE java servers on the same

host. Do they all need to set this property differently or idnentical?

They all need to set this property differently according to their server name. That server name is in CMC or in technical instance part of technical system editor, those application server names.

2. Is there only one jvmmond process to be started on that server or multiple?

Only one jvmmond process. Jvmmond is a sapjvm process, which can take sceenshots on other

sapjvm processes’ information, so one jvmmond is enough.

3. In the SolMan agent config there is only one property for systag to be set per technical system.

How can that work for multiple java processes on one system and one host and how would it

work for two systems (e.g. Tomcat + BOBJ on same host)?

For two systems (Tomcat+BOBJ), set two sets of parameters for ATC and BOBJ, they can have same

port and password. But for those servers creating multiple child java processes, anyway we can set

vm tag parameter there but all the child processes will take the same vm tag what will results wrong

behavior. It is a design defect for servers with child processes. Current design for TDA is one

instance(server) pairs one java process. It shall be improved later.