在Application Insights中查看POST请求正文(JAVA示例)

时间:2019-02-24 18:50:14

标签: java azure-application-insights

是否可以提供类似于本文中的示例的有效JAVA示例? View POST request body in Application Insights

感谢支持

1 个答案:

答案 0 :(得分:1)

TelemetryModule跟踪带有HTTP请求的各种数据,并将其作为RequestTelemetry发送到AI服务器。为了跟踪任何自定义HTTP参数,必须通过实现Web InsightsModule和SDK中的WebTelemetryModule和TelemetryModule接口来创建新的TelemetryModule。

这是示例实现。

enter image description here

WebTelemetry模块是可以在Request生命周期中访问HttpRequest和HttpResponse对象的模块。基本上,AI通过注册一个Servlet适配程序来收集请求遥测信息,在处理实际请求之前调用onBeginRequest,在处理请求之后调用onEndRequest。

现在在ApplicationInsights.xml文件中注册模块

enter image description here

<TelemetryModules>
        <Add type="com.ai.demo.CustomHttpTelemetryModule"/>
        <Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebRequestTrackingTelemetryModule"/>
        <Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebSessionTrackingTelemetryModule"/>
        <Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebUserTrackingTelemetryModule"/>
      </TelemetryModules>

请注意,我已经在所有默认遥测技术之前注册了TelemetryModule,因为如果您在WebRequestTelemetryModule之后注册遥测技术,那么您将不会传递您在OnEndRequest中设置的任何内容,因为WebRequestTelemetryModule会在其onEndRequest方法中生成trackRequest。在trackRequest()调用之后进行的任何更改都不会反映在AI门户中。

TelemetryModule按ApplicationInsights.xml文件中定义的顺序执行。

集成App Insight非常简单,有关此内容的相关文档可以在此处找到。

https://docs.microsoft.com/en-us/azure/azure-monitor/app/java-get-started

希望有帮助。