【问题标题】:View Request Body in Application Insights在 Application Insights 中查看请求正文
【发布时间】:2018-03-16 05:20:00
【问题描述】:

我正在使用应用程序洞察和 API 管理来监控我的 API。 Application Insights 是很棒的工具,但我看不到正文。

我想查看 Post 请求正文参数。有什么方法可以在应用洞察中添加身体数据?

【问题讨论】:

  • 您可以参考此article 在应用洞察中查看请求正文。
  • 我无法在现有 api 中进行代码更改。没有代码更改的任何选项都会帮助我

标签: azure azure-application-insights azure-api-management


【解决方案1】:

您必须配置 API 管理以将请求负载记录到 Application Insights。见这里:Enable Application Insights logging for your API

  1. 在 Azure 门户中导航到您的 Azure API 管理服务实例。
  2. 从左侧菜单中选择 API。
  3. 点击您的 API。
  4. 从顶部栏中转到“设置”选项卡。
  5. 向下滚动到诊断日志部分。
  6. 选中启用框。
  7. 在目标下拉列表中选择您附加的记录器。
  8. 输入 100 作为采样 (%) 并勾选始终记录错误复选框。
  9. 在其他设置下,配置最多 8192 字节的有效负载进行记录。
  10. 点击保存。

【讨论】:

    【解决方案2】:

    我无法在现有 api 中进行代码更改。任何无需更改代码的选项都会对我有所帮助

    很遗憾,Application Insights 不支持它。

    我也找到feedback,你可以投票。

    它现在支持custom Telemetry Initializer,正如我向您展示的那样。

    【讨论】:

    • 不再是真的 - 你现在可以这样做,请参阅 Sam Rueby 的回答
    【解决方案3】:

    目前不支持此功能。 APIM 不会向客户公开遥测初始化程序,而是提供添加到诊断实体的自定义选项,允许您控制采样、详细程度和记录标头的能力。身体仍在争论中。用户是否希望看到从后端返回或发送到客户端的响应正文?身体可以在不同阶段进行修改。或者,您可以使用 Log-To-EventHub 并能够将其放置在管道的特定点。正在考虑的另一个想法是 Log-To-ApplicationInsights。

    注意:向 Application Insights 添加更多数据会影响 APIM 性能。

    【讨论】:

      【解决方案4】:

      最简单的方法(好吧,我让它工作的唯一方法)是使用 AppInsights SDK 自己记录正文。

      根据GitHub,最新的 AppInsights SDK 具有在流关闭时运行处理后的初始化程序。

      【讨论】:

      • 我认为 API 管理不会公开遥测初始化程序。
      猜你喜欢
      • 1970-01-01
      • 2019-01-11
      • 1970-01-01
      • 1970-01-01
      • 2022-01-12
      • 2016-10-09
      • 2017-10-01
      • 2021-04-05
      • 2015-09-15
      相关资源
      最近更新 更多