【问题标题】:Logging incoming request referrer in azure在 azure 中记录传入的请求引荐来源网址
【发布时间】:2018-11-16 03:33:37
【问题描述】:

我已经将一些 .net API 和应用程序部署为 Azure 的应用服务,这些服务在内部使用,其中一些可以在外部调用。还为主要应用程序服务之一(我们称之为服务 A)设置了 Azure 警报,它会在出现 404 错误时发送电子邮件通知。

查看 AppInsights,我可以看到一些 requests 在调用 URL 中不包含任何端点的服务(服务 B https://serviceB.mydomain.com/)时导致 404 错误,当然服务 B 返回 404,但 AppInsights 没有显示请求调用者(request referer)。要调查 404 错误,我需要了解调用方 url。

我知道,我可以通过编程方式读取请求引用者,但如何处理由对不存在的端点的请求引起的 404 错误,而且某些请求可能没有引用者。如何记录调用方 url [最好在 Azure 应用程序服务/appInsights 中]?

【问题讨论】:

    标签: azure httprequest alert azure-application-insights http-referer


    【解决方案1】:

    到目前为止,我无法在 Azure 门户中找到任何工具来配置 AppInsights,但是可以通过编程方式对其进行配置以跟踪引用者,当然,如果请求由于某种原因在标头中没有引用者,它可以不会被捕获。

    link 解释了如何在代码中完成 AppInsight 配置以跟踪引用者。

    更新 - 问题的根源:

    原来 Azure 应用程序设置中的“始终开启”功能对服务 B 是开启的,这意味着它向基本 url 发送请求以使其保持活动状态并避免回收。有关 Always On 的更多信息,您可以参考here

    【讨论】:

      【解决方案2】:

      其中一个主要原因是您可能会在 App Insights 中配置 availability test

      特别是URL ping test

      这将在您配置的位置频繁访问配置的 URL

      【讨论】:

      • 感谢@Jayendran 的提示。我检查了所有现有的 AppInsights,但事实并非如此。此外,请求不是定期的。更有可能是内部/外部服务之一正在 ping url 但无法跟踪它。
      猜你喜欢
      • 2015-05-16
      • 2015-07-25
      • 2016-10-19
      • 2014-10-17
      • 2011-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多