It's all about the answers!

Ask a question

Exception when running JTSMon


Rob Logie (33825041) | asked Oct 27 '14, 1:34 a.m.
Hi
I trying to setup JTSMon for the first time and I am getting the exception below.  Does anyone know what could be going wrong ?  I am trying to connect to a CLM 4.0.4 server with the latest JTSMon.jar.

Thanks in advance
Rob

2014.10.27,11:09:21,246 [CounterServiceSequence_1:ServerMonitorSequence_1] After startup, platform users running: 12014.10.27,11:09:23,252 [CounterServiceSequence_1:ServerMonitorSequence_1] Transaction Report located at: C:\Users\XXXXXR0\Documents\JTSMon_5.0.0_RTC4.0.2GA-Prod\tmp\currentTransactionStats.txt2014.10.27,11:09:23,253 [CounterServiceSequence_1:ServerMonitorSequence_1] ServerSetup: repo = https://xal.XXXXXXXXox.com.xx:9443/jts username = XXXXXR02014.10.27,11:09:23,257 [CounterServiceSequence_1:ServerMonitorSequence_1] Task: ServerInfoRestCall2014.10.27,11:09:24,411 [CounterServiceSequence_1:ServerMonitorSequence_1] Exception during Task(ServerInfoRestCall): RuntimeException, Message: java.lang.RuntimeException: Messages.getServerString(FormBasedAuth.UnexpectedUriResponse)        at com.ibm.team.performance.rtc.tasks.utils.RTCFormBasedAuth.formBasedAuthenticate(RTCFormBasedAuth.java:280)        at com.ibm.team.performance.rtc.tasks.utils.RTCFormBasedAuth.handleFormBasedAuthentication(RTCFormBasedAuth.java:92)        at com.ibm.team.performance.rtc.tasks.utils.HttpClient.connect(HttpClient.java:101)        at com.ibm.team.performance.rtc.tasks.utils.HttpClient.connect(HttpClient.java:91)        at com.ibm.team.performance.rtc.tasks.base.RTCHttpClientHandler.callHttp(RTCHttpClientHandler.java:62)        at com.ibm.team.performance.rtc.tasks.base.RTCHttpClientHandler.httpGet(RTCHttpClientHandler.java:42)        at com.ibm.team.performance.rpp.base.base.BaseTask.httpGet(BaseTask.java:679)        at com.ibm.team.performance.rpp.base.tasks.ServerInfoRestCall.run(ServerInfoRestCall.java:43)        at com.ibm.team.performance.rpp.base.base.BaseTask.exec(BaseTask.java:321)        at com.ibm.team.performance.rpp.base.sequences.TaskSequence.task(TaskSequence.java:350)        at com.ibm.team.performance.rpp.base.sequences.TaskSequence.task(TaskSequence.java:324)        at com.ibm.team.performance.rpp.base.sequences.TaskSequence.task(TaskSequence.java:378)        at com.ibm.team.performance.rtc.tasks.sequences.ServerMonitorSequence.runSequence(ServerMonitorSequence.java:41)        at com.ibm.team.performance.rpp.base.sequences.TaskSequence.run(TaskSequence.java:468)        at java.lang.Thread.run(Unknown Source)Exception during task execution Messages.getServerString(FormBasedAuth.UnexpectedUriResponse)java.lang.RuntimeException: Messages.getServerString(FormBasedAuth.UnexpectedUriResponse)        at com.ibm.team.performance.rtc.tasks.utils.RTCFormBasedAuth.formBasedAuthenticate(RTCFormBasedAuth.java:280)        at com.ibm.team.performance.rtc.tasks.utils.RTCFormBasedAuth.handleFormBasedAuthentication(RTCFormBasedAuth.java:92)        at com.ibm.team.performance.rtc.tasks.utils.HttpClient.connect(HttpClient.java:101)        at com.ibm.team.performance.rtc.tasks.utils.HttpClient.connect(HttpClient.java:91)        at com.ibm.team.performance.rtc.tasks.base.RTCHttpClientHandler.callHttp(RTCHttpClientHandler.java:62)        at com.ibm.team.performance.rtc.tasks.base.RTCHttpClientHandler.httpGet(RTCHttpClientHandler.java:42)        at com.ibm.team.performance.rpp.base.base.BaseTask.httpGet(BaseTask.java:679)        at com.ibm.team.performance.rpp.base.tasks.ServerInfoRestCall.run(ServerInfoRestCall.java:43)        at com.ibm.team.performance.rpp.base.base.BaseTask.exec(BaseTask.java:321)        at com.ibm.team.performance.rpp.base.sequences.TaskSequence.task(TaskSequence.java:350)        at com.ibm.team.performance.rpp.base.sequences.TaskSequence.task(TaskSequence.java:324)        at com.ibm.team.performance.rpp.base.sequences.TaskSequence.task(TaskSequence.java:378)        at com.ibm.team.performance.rtc.tasks.sequences.ServerMonitorSequence.runSequence(ServerMonitorSequence.java:41)        at com.ibm.team.performance.rpp.base.sequences.TaskSequence.run(TaskSequence.java:468)        at java.lang.Thread.run(Unknown Source)2014.10.27,11:09:24,422 [CounterServiceSequence_1:ServerMonitorSequence_1] Task: TimeRateDelay2014.10.27,11:09:25,423 [CounterServiceSequence_1:ServerMonitorSequence_1] Task: CounterServiceRestCall2014.10.27,11:09:26,841 [CounterServiceSequence_1:ServerMonitorSequence_1] Writing counters to C:\Users\XXXXXR0\Documents\JTSMon_5.0.0_RTC4.0.2GA-Prod\tmp\xal.XXXXXXXXox.com.xx.jts\CounterContentServer1.html.zip2014.10.27,11:09:26,926 [CounterServiceSequence_1:ServerMonitorSequence_1] Task: TimeRateDelay2014.10.27,11:09:27,926 [CounterServiceSequence_1:ServerMonitorSequence_1] TimeRateDelay is sleeping for 3597.496 seconds
















































3 answers



permanent link
Dave Schlegel (331157) | answered Oct 27 '14, 5:29 p.m.
JAZZ DEVELOPER
Hi Rob

Looking at the output above, it looks like it's struggling with the first REST call it is making (ServerInfoRestCall)) but then succeeding when it does a second call to get the actual web service counter report. If you look in the data directory do you see the CounterContentServerXXX.html.zip files ? That is the main data it is trying to snapshot so it may be getting that at least.

I've occasionally seen some odd behavior like this but not very often. Are you trying to monitor more than one server URL at the same time or just JTS ? If more than one could you try changing the "order" of the URLs in your properties file to see if that has any effect ?

permanent link
Rob Logie (33825041) | answered Oct 27 '14, 8:43 p.m.
Hi Dave
At the moment I am just testing with one server URL, the JTS server.  Below is the jm.properties file I am using. Note I had to set the output directories due to the security policies on the PC I am running this.  Those policies mean I only have write access in my home directory on the PC.  It is getting data in a CounterContentServerXXX.html.zip file

########################################################################### JTSMon: Properties File #   These are the minimum properties you need to provide to run JTSMon########################################################################### Comma separated list of one or more servers to monitor, i.e. host1:9443/ccm,host1:9443/jts# NOTE: Using the prefix "<url>" in front of any individual URLs in the list will disable # any attempt by the product to attempt to "adjust" a URL to fit assumed URL patterns. #SERVER_URL_LIST=https://rational.xxxxxxxxxxxxx.com.au:9443/jts,https://rational.xxxxxxxxxxxxx.com.au:9443/ccm,https://rational.xxxxxxxxxxxxx.com.au:9443/qm,https://rational.xxxxxxxxxxxxx.com.au:9443/rm#SERVER_URL_LIST=vmaajt1333.corpnet.xxxxxxxxxxxxx.com.au:9443/jtsSERVER_URL_LIST=rational.xxxxxxxxxxxxx.com.au:9443/jts# User name for loginSEQ_USERNAME=XXXXXXX# User password for login - recognizes <prompt> to prompt, cleartext or obfuscated passwords#     Use "java -jar JTSMon.jar password" to produce an obfuscated password#     NOTE: Non-ASCII passwwords may work but are not officially supported. #SEQ_PASSWORD=ZRg4loEsrO8gDNBcTBm5D6qEhkeIL0lG# Defines how long a task sequence should run, either a number of iterations or # time (number followed by m/h/d for minutes/hour/days, i.e. 5m) (default 7d (7 days))SEQ_RUN_LENGTH_ARG=7d# Sets the basic output directory for all log files, <temp>\JTSMonRuntime by default# PATH_OUTPUT_DIR=C:\\Users\\XXXXXXX\\Documents\\JTSMon_5.0.0_RTC4.0.2GA-Prod\\tmp########################################################################### Defaults: To change any of the following working assumptions, #    see jmTemplate.properties for information on other properties# # Monitoring:#    Samples will be taken very hour#    No repository reports will be generated#    Monitor output will go to <tempDir>\JTSMonRuntime or PATH_OUTPUT_DIR above# # Gathering: not needed because ANALYSIS_IN_PLACE defaults to true## Analysis:#    Comparison to jazz.net RTC 3.0.1 sample baseline will be included#    Output will be Excel compatible####################################################################################################################### SET: Server Monitor Properties############################################# Enable counter data files to be compressed in ZIP format# PARM_COUNTER_COMPRESS_DATA=false# Counter sampling rate in minutes (default 60 mins)# PARM_COUNTER_RATE_MINS=60# Running repository reports may be time consuming and requires admin privilege# RUN_REPO_REPORTS=true# Repository Report sampling rate in minutes (default 480 (8 hours))# PARM_REPOREPORT_RATE_MINS=60# Maximum number of seconds to wait for HTTP connection to server reply (default 120)# SERVER_HTTP_TIMEOUT_SECS=120############################################# SET: Runtime Path Control Properties# During "monitor", data is recorded into the PATH_OUTPUT_DIR# then "gather" copies it to ROOT_NETWORK_SHARED_DIR_*/RUN_ID############################################# Identifier for this run directory (defaults to run0)# RUN_ID=# Description of run to save into logs for later analysis# RUN_DESCRIPTION=# Destination directory for data gathering on Linux/Window platforms# Default is <ROOT_TEMP_DIR>/JTSMonData# ROOT_NETWORK_SHARED_DIR_LINUX=ROOT_NETWORK_SHARED_DIR_WINDOWS=C:\\Users\\XXXXXXX\\Documents\\JTSMon_5.0.0_RTC4.0.2GA-Prod\\JTSMonData# Root of temporary directory (default c:\\temp Windows, /var/tmp Linux)ROOT_TEMP_DIR=C:\\Users\\XXXXXXX\\Documents\\JTSMon_5.0.0_RTC4.0.2GA-Prod\\tmp# Sets the basic output directory for all log filesPATH_OUTPUT_DIR=C:\\Users\\XXXXXXX\\Documents\\JTSMon_5.0.0_RTC4.0.2GA-Prod\\JTSMonRuntime############################################# SET: Data Analysis Control Properties############################################# If enabled, automatically analyze data in original monitor output directory without need to gather# ANALYSIS_IN_PLACE=TRUE# Baseline file to use in post-run analysis (default)# ANALYSIS_BASELINE=JazzDev_3.0.1_111107__200users_8hrs# Application directory containing baselines and other data# ANALYSIS_DATADIR=Data# Sample time (minutes) used in counter service trend analysis# All counter snapshots are used unless this is greater than 0# ANALYSIS_SAMPLE_TIME=60# Range of data to analyze, provided as comma separated pair of start,end numbers# ANALYSIS_DATA_RANGE=<startNumber>,<endNumber># Output directory for secondary data output# ANALYSIS_OUTPUT_DIR=<dir># Comma-separated list of applications to aggregate for cluster based monitoring# ANALYSIS_AGGREGATE_LIST=jazz,jts# If enabled, subtract first snapshot data from run to simulate server restart# ANALYSIS_AGGREGATE_ZERO_BASIS=true# Spreadsheet application that will read the generated trend tables, either Excel(default) or Symphony# ANALYSIS_TARGET="Symphony"






















































































































permanent link
Dave Schlegel (331157) | answered Oct 28 '14, 1:52 p.m.
JAZZ DEVELOPER
1. Try specifying <URL> at the front of each individual URL as follows and getting the URL exactly the way you want it. The <URL> tag tells JTSMon to not try to be too clever filling in any missing parts of what it thinks the complete pattern is and the .com.au might have confused it. Not sure this will have any impact but it's worth a try

SERVER_URL_LIST=<URL>https://rational.xxxxxxxxxxxxx.com.au:9443/jts,<URL>https://rational.xxxxxxxxxxxxx.com.au:9443/ccm

2. The first file it is having a hard time getting during the initial authentication step is usually not that critical. I am not sure why it is having the problem but as long as it is getting the actual counter reports and able to analyze them without any problems, it may work well enough to work for you.

I would run a short experiment by letting it run and analyze the data, i.e. set for 5 minute snapshots to run for an hour against more than one server and see what you get.

PARM_COUNTER_RATE_MINS=5
SEQ_RUN_LENGTH_ARG=1h

Your answer


Register or to post your answer.