【发布时间】:2019-02-24 18:50:14
【问题描述】:
是否可以提供一个像本文中那样的有效 JAVA 示例? View POST request body in Application Insights
感谢支持
【问题讨论】:
标签: java azure-application-insights
是否可以提供一个像本文中那样的有效 JAVA 示例? View POST request body in Application Insights
感谢支持
【问题讨论】:
标签: java azure-application-insights
TelemetryModules 跟踪各种数据 w.r.t HTTP 请求,并将其作为 RequestTelemetry 发送到 AI 服务器。为了跟踪任何自定义 HTTP 参数,必须通过实现 WebTelemetryModule 和 TelemetryModule 接口来创建一个新的 TelemetryModule,该接口是应用洞察 SDK 的一部分。
这是示例实现。
WebTelemetry 模块是可以在请求生命周期中访问 HttpRequest 和 HttpResponse 对象的模块。基本上,AI 通过注册 Servlet fitler 来收集请求遥测数据,并且在处理实际请求之前调用 onBeginRequest,在处理请求之后调用 onEndRequest。
现在在 ApplicationInsights.xml 文件中注册模块
<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 门户中。
TelemetryModules 按照它们在 ApplicationInsights.xml 文件中定义的顺序执行。
集成 App Insights 非常简单,可以在此处找到相关文档。
https://docs.microsoft.com/en-us/azure/azure-monitor/app/java-get-started
希望对你有帮助。
【讨论】: