BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Sajid01
Meteorite | Level 14

Hello
We have a SAS environment in which users/processes send an https post request to the SAS web Application Server.
The server sends the response back. This typically takes a few milliseconds to complete.
Please note that  users/processes sending the requests do not use SAS and therefore proc http is not used..
However some times the sending user/process does not receive a response. The blame comes on SAS.

I conducted tests using Apache JMETER and I do see that few such request indeed fail to get a response.
Wondering if I can get the SAS Web Application Server output the requests received and the response sent to a log file may be catalina.out or server.log.
That way one can verify if the call has been lost in transit (network delays etc.) or the issue is with SAS.
Tried using tcpdump, But with encrypted traffic cannot decode the contents.(It works with http requesst).
We are using SAS 9.4 M4 on RHEL6.

 

1 ACCEPTED SOLUTION

Accepted Solutions
gwootton
SAS Super FREQ

If you have configured TLS for the web server but not the web application server, the response from the web application server to the web server would be unencrypted. Is that communication also secured?

 

Do you see the missing request/response in the access log for the application server (logs/localhost_access_log..<date>.txt)? That would indicate the request was received and it's response sent.

 

The access logs list the requests and responses, though there is not an option for the body of the requests, you could capture header information.

 

There are also pattern options that provide information on the time it took the request to process and headers:

  • %D - Time taken to process the request, in millis
  • %T - Time taken to process the request, in seconds
  • %F - Time taken to commit the response, in millis

Apache Tomcat 8 Configuration Reference - Access Log Valve 


This could be implemented by modifying the AccessLogValve configuration in server.xml file for the Web Application Server.

[sas@sgmmstr SASServer1_1]$ pwd
/sas94/config/Lev1/Web/WebAppServer/SASServer1_1
[sas@sgmmstr SASServer1_1]$ grep AccessLogValve conf/server.xml
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." requestAttributesEnabled="true" suffix=".txt"/>
[sas@sgmmstr SASServer1_1]$
--
Greg Wootton | Principal Systems Technical Support Engineer

View solution in original post

5 REPLIES 5
AnandVyas
Ammonite | Level 13

Hi @Sajid01 

 

I have done similar testing for one of the solution using postman as my client. For all my requests there was a response, not successful always but some error code or warning. These error messages were also logged into catalina.out or application specific log file that is deployed under app server (SASServerX_Y). (<sasconfig>/Lev1/Web/Logs/SASServerX_Y)

 

You can also try to enable debug logs and see if it helps. If the response is being lost due to network, you will require network tracing client/tools to see if there are packet drops. You can also check packet drops on the machine network interface, however network packet tracing tools can give more information.

Sajid01
Meteorite | Level 14

Thanks Anand.
1.Use of network monitoring / packet tracing tools for decrypting https traffic is not feasible at my place.

2.I was looking of sending a copy of the the request along with its payload and response together with the timestamp onto some log file. This could be catalina.out or server.log something else. I am not looking for error.

Thanks once again.

Sajid01
Meteorite | Level 14
Thanks.
That is not the right tool for this issue.
gwootton
SAS Super FREQ

If you have configured TLS for the web server but not the web application server, the response from the web application server to the web server would be unencrypted. Is that communication also secured?

 

Do you see the missing request/response in the access log for the application server (logs/localhost_access_log..<date>.txt)? That would indicate the request was received and it's response sent.

 

The access logs list the requests and responses, though there is not an option for the body of the requests, you could capture header information.

 

There are also pattern options that provide information on the time it took the request to process and headers:

  • %D - Time taken to process the request, in millis
  • %T - Time taken to process the request, in seconds
  • %F - Time taken to commit the response, in millis

Apache Tomcat 8 Configuration Reference - Access Log Valve 


This could be implemented by modifying the AccessLogValve configuration in server.xml file for the Web Application Server.

[sas@sgmmstr SASServer1_1]$ pwd
/sas94/config/Lev1/Web/WebAppServer/SASServer1_1
[sas@sgmmstr SASServer1_1]$ grep AccessLogValve conf/server.xml
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." requestAttributesEnabled="true" suffix=".txt"/>
[sas@sgmmstr SASServer1_1]$
--
Greg Wootton | Principal Systems Technical Support Engineer

suga badge.PNGThe SAS Users Group for Administrators (SUGA) is open to all SAS administrators and architects who install, update, manage or maintain a SAS deployment. 

Join SUGA 

Get Started with SAS Information Catalog in SAS Viya

SAS technical trainer Erin Winters shows you how to explore assets, create new data discovery agents, schedule data discovery agents, and much more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 5 replies
  • 1624 views
  • 0 likes
  • 3 in conversation