cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Anka.Thanneeru
AppDynamics Team

Instrumenting Tableau Server (through version 10.5) for Java Agent

 

Tableau Server installer spawns a number of processes. You’ll need to identify which processes to monitor based on your need.

 

For example, to monitor these processes execute the following commands to attach the Java Agent to the intended Java processes.

clustercontroller

searchserver

backgrounder

vizportal

vizqlserver

 

Make sure that each Java process (node) is associated to a different tier.  

Example: -Dappdynamics.agent.tierName=vizportal

 

Step 1 - Edit these 5 JVM options to attach Java Agent

tab-install-dir/bin>tabadmin set vizqlserver.vmopts "'-XX:+UseConcMarkSweepGC -XX:NewRatio=2 -XX:SurvivorRatio=6 -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=15 -javaagent:C:\vizqlserver\javaagent.jar -Dappdynamics.agent.tierName=vizqlserver'"
tab-install-dir/bin>tabadmin set vizportal.vmopts "'-XX:+UseConcMarkSweepGC -XX:+ExitOnOutOfMemoryError -javaagent:C:\vizportal\javaagent.jar -Dappdynamics.agent.tierName=vizportal'"
tab-install-dir/bin>tabadmin set backgrounder.vmopts "'-XX:+UseConcMarkSweepGC -Xmx512m -Xms256m -javaagent:C:\backgrounder\javaagent.jar -Dappdynamics.agent.tierName=backgrounder’”
tab-install-dir/bin>tabadmin set clustercontroller.vmopts "'-XX:+UseConcMarkSweepGC -Xmx512m -Xms64m -Djna.nosys=true -XX:+ExitOnOutOfMemoryError -javaagent:C:\Anka\4\ver4.3.0.2\javaagent.jar'"
tab-install-dir/bin>tabadmin set searchserver.vmopts "'-XX:+UseConcMarkSweepGC -Xmx512m -Xms256m -XX:+ExitOnOutOfMemoryError -javaagent:C:\Anka\1\ver4.3.0.2\javaagent.jar'"

 

For each set command execution, the result should be shown as below to indicate the successful update of arguments.

-- value for key <process-name>.vmopts has been set

 

Example:

-- value for key vizportal.vmopts has been set

 

Step 2 - Flush configuration to all the gateways of the Tableau server

tab-install-dir/bin>tabadmin set config

 

Expected output without errors:

===== Wrote configuration files to C:/ProgramData/Tableau/Tableau Server/data/tabsvc/config

-- Web data connectors were distributed to all gateways.

 

Step 3 - Restart the Tableau server

To effect the changes, restart the Tableau server using the appropriate steps, depending on your version of Tableau:

 

How do I restart Tableau Server prior to version 10.5?

Restart the Tableau server so the changes go into effect:

tab-install-dir/bin>tabadmin restart

 

Expected output without any errors:

Status: RUNNING

 

On successful instrumentation of the 5 java processes listed in step 1, the Agents should collect and show an application flow map similar to this: 

(refer app-dashboard.png).(refer app-dashboard.png).

 

Potential issues while attaching the agent to the Java process.

If the Java Agent does not attach properly to the Java process, you may see a process startup failure, such as:

tab-install-dir/bin>tabadmin set vizportal.vmopts “-javaagent:C:\app\4.3.5\ver4.3.5\vizportal\javaagent.jar’”
tab-install-dir/bin>tabadmin config

Execution shows similarly to:

*** Configuration used: -XX:+UseConcMarkSweepGC -XX:+ExitOnOutOfMemoryError 
-javaagent:C:\app\4.3.5… -Xmx512m -Xms256m

 

In the above example, the Java Agent location is not properly taken by Tableau when updating the JVM arguments. To fix the error, make sure that the Java Agent location doesn’t contain “-” (hyphen), .”(dot), or “_” (underscore)The example command should work properly if formatted correctly:

 

Reference Sample CmdReference Sample Cmd

 

tab-install-dir/bin>tabadmin set vizportal.vmopts "-javaagent:C:\vizportal\javaagent.jar'"

tab-install-dir/bin>tabadmin config

 

Execution should show something similar to:

*** Configuration used: -XX:+UseConcMarkSweepGC -XX:+ExitOnOutOfMemoryError -javaagent:C:\vizportal\javaagent.jar -Xmx512m -Xms256m

 

How do I restart Tableau Server version 10.5+?

As of Tableau version 10.5, the tabadmin utility deprecated along with the Tableau Server Configuration utility was replaced by Tableau Services Manager (TSM). If you’re using Tableau 10.5+, use something similar to the following with TSM to restart the server, so the changes go into effect:

<Tableau_Home>\bin> tsm configuration set -k vizportal.vmopts -v "-javaagent:C:\vizportal\javaagent.jar'"

 

For more information, see https://help.tableau.com/current/server/en-us/cli_configuration-set_tsm.htm

Comments
Hurshid.Kadirov
AppDynamics Team

Hi,

how can we remove the instrumentation?

Regards,

Hurshid

Anka.Thanneeru
AppDynamics Team

Hi Hurshid,

 

You can perform the following to remove the instrumentation.

 

tab-install-dir/bin>tabadmin set vizportal.vmopts

tab-install-dir/bin>tabadmin config

tab-install-dir/bin>tabadmin restart

 

Set the default .vmopts for all the instrumented processes by removing "-javaagent:C:\vizportal\javaagent.jar'" from the command.

 

Regards,

Anka

Jay.Patel
Wanderer

Anyone has configured AppDynamics for Tableau latest 2019 & above version (TSM version)?

Can it possible to configure using EUM or web URL for process monitoring without modifying application code? https://server/admin/systeminfo.xml

Claudia.Landivar
AppDynamics Team (Retired)

Unfortunately, I don't have more information to share at this time — but, I encourage the Community to please chime in with additional learnings.

 

Claudia Landivar

Community Manager & Editor 

Claudia.Landivar
AppDynamics Team (Retired)

Hello, @Jay.Patel !

 

Wanted to let you know that @Anka.Thanneeru provided separate instructions for instrumenting Tableau version 10.5+. I've added them to this article as a subset of Step 3.

 

We hope they're helpful and are interested in knowing how those instructions go for you.

 

Regards,

Claudia Landivar

Community Manager & Editor

Version history
Last update:
‎05-14-2020 06:06 PM
Updated by:
On-Demand Webinar
Discover new Splunk integrations and AI innovations for Cisco AppDynamics.


Register Now!

Observe and Explore
Dive into our Community Blog for the Latest Insights and Updates!


Read the blog here