你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Monitor 查询中的 app() 表达式

app 表达式用于 Azure Monitor 查询中,可从特定 Application Insights 应用中的同一资源组、另一个资源组或另一个订阅中检索数据。 此表达式适用于在 Azure Monitor 日志查询中包含应用程序数据以及在 Application Insights 查询中跨多个应用程序查询数据。

重要

如果使用的是基于工作区的 Application Insights 资源,则不使用 app() 表达式,因为日志数据存储在 Log Analytics 工作区中。 使用 workspace() 表达式编写一个查询,使其在多个工作区中包含应用。 对于同一个工作区中的多个应用,则无需跨工作区查询。

语法

app(标识符)

参数

  • 标识符:使用下表中的某种格式标识应用。
标识符 说明 示例
资源名称 人工可读的应用名称(也称为“组件名称”) app("fabrikamapp")
限定的名称 窗体中应用的完整名称:“subscriptionName/resourceGroup/componentName” app('AI-Prototype/Fabrikam/fabrikamapp')
ID 应用的 GUID app("988ba129-363e-4415-8fe7-8cbab5447518")
Azure 资源 ID Azure 资源的标识符 app("/subscriptions/7293b69-db12-44fc-9a66-9c2005c3051d/resourcegroups/Fabrikam/providers/microsoft.insights/components/fabrikamapp")

说明

  • 必须具有该应用程序的读取权限。
  • 按应用程序的名称来标识应用程序,即假定该名称在所有可访问订阅中唯一。 如果拥有多个采用指定名称的应用程序,查询将因多义性而失败。 在这种情况下,必须使用一个其他的标识符。
  • 使用相关表达式 workspace 来跨 Log Analytics 工作区进行查询。

示例

app("fabrikamapp").requests | count
app("AI-Prototype/Fabrikam/fabrikamapp").requests | count
app("b438b4f6-912a-46d5-9cb1-b44069212ab4").requests | count
app("/subscriptions/7293b69-db12-44fc-9a66-9c2005c3051d/resourcegroups/Fabrikam/providers/microsoft.insights/components/fabrikamapp").requests | count
union 
(workspace("myworkspace").Heartbeat | where Computer contains "Con"),
(app("myapplication").requests | where cloud_RoleInstance contains "Con")
| count  
union 
(workspace("myworkspace").Heartbeat), (app("myapplication").requests)
| where TimeGenerated between(todatetime("2018-02-08 15:00:00") .. todatetime("2018-12-08 15:05:00"))

后续步骤