As I mentioned, in Tomcat Valve, we get some details from the User-Agent header.
See following code from WebAppMonitoringPublisherValve.java <https://github.com/wso2/carbon-deployment/blob/master/components/monitoring/org.wso2.carbon.as.monitoring/src/main/java/org/wso2/carbon/as/monitoring/collector/http/WebAppMonitoringPublisherValve.java#L250-L256> *Client readableUserAgent = uaParser.parse(userAgent);webappMonitoringEvent.setUserAgentFamily(readableUserAgent.userAgent.family);webappMonitoringEvent.setUserAgentVersion(readableUserAgent.userAgent.major);webappMonitoringEvent.setOperatingSystem(readableUserAgent.os.family);webappMonitoringEvent.setOperatingSystemVersion(readableUserAgent.os.major);webappMonitoringEvent.setDeviceCategory(readableUserAgent.device.family);* We can access headers from Netty request, but the real question is whether the Microservices clients will send a User-Agent header similar to the header sent by a Browser. In the valve, other details are taken from the request object. With Netty, we should be able to get the remote address from the Netty Channel. However, I couldn't find a way to access the channel from our HTTPMonitoringInterceptor <https://github.com/wso2/product-mss/blob/v1.0.0-alpha/carbon-mss/components/org.wso2.carbon.mss/src/main/java/org/wso2/carbon/mss/httpmonitoring/HTTPMonitoringInterceptor.java>. In addition the Tomcat Value gets language and country from Locale <https://github.com/wso2/carbon-deployment/blob/master/components/monitoring/org.wso2.carbon.as.monitoring/src/main/java/org/wso2/carbon/as/monitoring/collector/http/WebAppMonitoringPublisherValve.java#L208-L209>. <https://github.com/wso2/product-mss/blob/v1.0.0-alpha/carbon-mss/components/org.wso2.carbon.mss/src/main/java/org/wso2/carbon/mss/httpmonitoring/HTTPMonitoringInterceptor.java> Even here, can we expect these details in Microservices context? On Fri, Nov 20, 2015 at 4:51 PM, Sagara Gunathunga <[email protected]> wrote: > > What we have in AS is not AS specific dashboard, it's a HTTP dashboard and > possible to use with anywhere related to HTTP monitoring. As we discussed > we need some sophisticated dashboards for MSS but HTTP monitoring is > something basic and essential for MSS as well, HTTP monitoring is a very > basic requirement for any service or app. > > As I understood current problem is, it's not possible to extract some of > the HTTP request headers from Netty in order to render some parts of above > dashboard, IMHO we need to find a way to exact all HTTP headers from Netty. > > Can you list down list of required HTTP headers that we can't extract from > current API ? May be Kasun can help out here. > > Thanks ! > > On Fri, Nov 20, 2015 at 4:05 PM, Isuru Perera <[email protected]> wrote: > >> Hi all, >> >> For the MSS alpha release, we used the HTTP Monitoring Dashboard used in >> WSO2 AS product and we implemented an HTTP Monitoring Interceptor for MSS >> [1]. >> >> However, with MSS we don't get all data required by the standard HTTP >> Monitoring Dashboard. For example, in the Tomcat Valve for AS [2], we have >> used the User-Agent header to get client details (Browser, OS & Device). >> The Tomcat Request object has all other necessary details (Remote IP, >> Locale etc) >> >> In our interceptor [3], we use the Netty HTTP Request object and the Java >> Reflection details to get details for the monitoring event. >> >> Since these details are not enough for the HTTP Monitoring Dashboard, we >> need to think of using an MSS specific dashboard. >> >> WDYT? >> >> With regarding to Metrics annotations, we have to create some gadgets in >> DAS. We need to have a discussion on this. >> >> Thanks! >> >> Best Regards, >> >> [1] https://github.com/wso2/product-mss/pull/31 >> [2] >> https://github.com/wso2/carbon-deployment/blob/master/components/monitoring/org.wso2.carbon.as.monitoring/src/main/java/org/wso2/carbon/as/monitoring/collector/http/WebAppMonitoringPublisherValve.java >> [3] >> https://github.com/wso2/product-mss/blob/v1.0.0-alpha/carbon-mss/components/org.wso2.carbon.mss/src/main/java/org/wso2/carbon/mss/httpmonitoring/HTTPMonitoringInterceptor.java >> >> -- >> Isuru Perera >> Associate Technical Lead | WSO2, Inc. | http://wso2.com/ >> Lean . Enterprise . Middleware >> >> about.me/chrishantha >> Contact: +IsuruPereraWSO2 <https://www.google.com/+IsuruPereraWSO2/about> >> > > > > -- > Sagara Gunathunga > > Architect; WSO2, Inc.; http://wso2.com > V.P Apache Web Services; http://ws.apache.org/ > Linkedin; http://www.linkedin.com/in/ssagara > Blog ; http://ssagara.blogspot.com > > -- Isuru Perera Associate Technical Lead | WSO2, Inc. | http://wso2.com/ Lean . Enterprise . Middleware about.me/chrishantha Contact: +IsuruPereraWSO2 <https://www.google.com/+IsuruPereraWSO2/about>
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
