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.
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:
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 "%r" %s %b" prefix="localhost_access_log." requestAttributesEnabled="true" suffix=".txt"/> [sas@sgmmstr SASServer1_1]$
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.
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.
Hi @Sajid01
Did you try "Developer Tools" in Google Chrome? It helps you export a HAR file for all the network requests.
https://developers.google.com/web/tools/chrome-devtools/network/reference
https://support.zendesk.com/hc/en-us/articles/204410413-Generating-a-HAR-file-for-troubleshooting
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:
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 "%r" %s %b" prefix="localhost_access_log." requestAttributesEnabled="true" suffix=".txt"/> [sas@sgmmstr SASServer1_1]$
The SAS Users Group for Administrators (SUGA) is open to all SAS administrators and architects who install, update, manage or maintain a SAS deployment.
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.