Azure警报邮件正文中的失败API名称

bvjxkvbb  于 2023-05-07  发布在  其他
关注(0)|答案(1)|浏览(99)

我们在Azure API Management上部署了多个API,并在AppInsights中创建了警报,当检测到失败的API时会触发警报。
然而,触发的邮件仅具有关于已经失败的API的计数的信息。我们特别要求在警报邮件中提供API名称以及失败API的更多详细信息,如请求体/响应体/ API路径等
我猜这可以通过自定义webhook实现,但我找不到任何适当的文档说明如何从Alert payload中获取失败的API名称和其他详细信息,并在自定义payload中使用
有什么建议吗?自定义负载的例子将是非常有帮助的。

nlejzf6q

nlejzf6q1#

使用自定义日志查询,动作组和逻辑应用程序,您可以从API管理中获取失败的API名称。下面是我遵循的步骤,并能够在邮件中获得API名称。

  • 我在API管理上部署了一些API。
  • 已配置应用程序洞察以进行API管理。
  • 创建了如下所示的警报规则
requests
    | where success == false
    | summarize by operation_Name

  • 在操作选项卡中,添加了一个将触发逻辑应用程序和创建规则的操作组。

  • 逻辑app的设计者如下图所示,

  • 在邮件体中,发送触发器的体。这将包括有关已触发警报的详细信息。

  • 在Azure应用程序洞察中运行查询时的搜索结果是,

// Failed operations 
    // Calculate how many times operations failed, and how many users were impacted. 
    // To create an alert for this query, click '+ New alert rule'
    requests
    | where success == false
    | summarize by operation_Name

  • 一旦触发警报,邮件将发送如下所示,

  • 如上所示,您将在邮件中获得链接,一旦您单击它,您将能够看到结果与API名称如下所示,

相关问题