Rest API logging in websphere clustured environment - java

I have few rest services bundled to an ear and deployed to Websphere application server in PROD clustered environment(16 Websphere app server instances). IHS webserver instances are serving the incoming requests to above app servers.
I need to capture request/response details and few logs during processing of the request. In PROD the debug log is by default disabled, I need a way to enable debug logs in all app servers without any deployments.
Please suggest.

Maybe NCSA logging is what you are looking for
https://www.ibm.com/docs/en/was-nd/9.0.5?topic=application-enabling-access-logging

Related

Enable SSL (two way handshake) in web application in tomcat to external application

How can i enable SSL (two way handshake) in web application in tomcat to external application. I searched in google. But it gives a way to enable SSL between tomcat and client. But i need to enable SSL between Web app to external application (the application in tomcat calls an another rest web service). How can i do that?
EDIT
I know that we can consider that the web app as a client and external application as the server and then we can enable SSL. But i need to find a way to configure it in Tomcat. In here the external Application means, .
There are no way to do it in tomcat level. I could enable it in the application (in the server) level. I used this link to do that.

Spring Boot Tomcat Embed CA SSO / Siteminder Intercept

I've got a simple SPA Sprint Boot application - executable jar with embedded tomcat and looking to plug it into siteminder with preauthenticatedauthenticationprovider. Application is http://someserver:1234
Documentation states that a WebAgent is installed on a web server and that 'intercepts' requests. Would the WebAgent be deployed in a separate container? If so, how does it intercept requests? All documentation refers to this intercept, but doesn't state the mechanism.
Does it need to be deployed inside the same container to intercept requests? The only way I can think any http headers are intercepted is through proxies.
There are 2 ways to configure Web Agent.
1. Local Configuration
- Setup Agent in the sever where Applciaiton is hosted.
2. Centralized Configuration
- Setup Agent in the a web server like Apache and add proxy entries to the backend applications. this configuration intercepts each and every request going from the webagent server. I recommend this. if you have still questions drop here.
- Thanks,
Chiranjeevi

How to manage JBoss Wildfly resources(server, applcation etc) in domain mode programmatically

In JBoss AS in domain mode how can I manage server resources programmatically, that is by my own client app?
That is - to create/remove start/stop servers, server groups, deploy/undeploy applications etc.
I read that this can be achieved by using JMX MBeans. However when running in standalone mode i could list all jboss MBeans, but in domain mode can see only ModuleLoader MBean. Anyway, i found by using JMX MBeans that have to write very long code. So here are the questions:
1) is there a client library for JBoss server resource management for Java?
2) if there is only by JMX to manage resources, then how can i list all MBeans of the server in domain mode? i put <remoting-connector/> in domain.xml but should i have to specify anything anywhere else?
The tools i am using are: JBoss Wildfly 8.1, IntelliJ IDEA 13.1, Java 8, Windows 8.1/Debian 7.
Thanks in advance.

Track HTTP requests in Websphere

I have the following requirement: I want to track all requests, that go through our WebSphere servers. We have some web applications, and some web services deployed to our servers. However, i don't want to add that tracking mechanism to each application.
Is there a possibility, to add some plugin or to create a filter for the WebSphere server, where i can read the request (i need some additional data from the request, like username, and session id for the tracking)?
Or is the only solution for that problem some kind of proxy server, which i have to put before our WebSphere server and which can process the tracking?
We are using WebSphere 8.
At first there is a kind of HTTP request logging that can be done in Websphere version 8.
From the administration console choose Servers > Server Types > WebSphere application servers > server_name > Troubleshooting > NCSA access and HTTP error logging
Once you enable Access Logging and Error Logging you have Web server like HTTP logs in the WAS logs directory.
In case you need additional information, like the HTTP headers you mentioned, you should enable the following traces:
com.ibm.ws.http.HttpConnection=finest:
com.ibm.ws.http.HttpRequest=finest:
com.ibm.ws.http.HttpResponse=finest
More on this you can find here.

How to configure CXF web services so that Glassfish can monitor them

We deploy web services implemented by using the CXF framework on the Glassfish application server. Glassfish has the possibility to monitor Web Services deployed on the server through it's management console.
We would like to be able to use these monitor features of Glassfish towards the web services implemented by using CXF, but when we deploy the web service application, the services isn't available through the Glassfish management console.
Does anyone know how to configure the CXF web services so they show up in Glassfish's management console?
There are some docs at:
http://cxf.apache.org/docs/jmx-management.html
about how to enable the JMX instrumentation in CXF. There are a couple things missing there however. With 2.2.3 and newer, there are some new properties on the InstrumentationManagerImpl bean that can tell it to NOT create a new MBean server and connection and stuff an hopefully use the platform supplied one.
<usePlatformMBeanServer>true</usePlatformMBeanServer>
will just call:
mbs = ManagementFactory.getPlatformMBeanServer();
which will hopefully get the default GlassFish MBS.
<createMBServerConnectorFactory>false</createMBServerConnectorFactory>
would not create a new connector.
Also, if you can get a handle on the GlassFish MBS from the spring context, (spring probably has ways to do it), you can set the "server" property to the actual MBeanServer.

Categories