在 Azure Monitor 日志查询中使用 workspace() 表达式
在 Azure Monitor 查询中使用 workspace
表达式,从同一资源组、另一个资源组或另一个订阅的特定工作区中检索数据。 可以使用此表达式在 Log Analytics 查询中包含日志数据以及在日志查询中跨多个工作区查询数据。
所需的权限
你必须对查询的 Log Analytics 工作区具有 Microsoft.OperationalInsights/workspaces/query/*/read
权限,例如,Log Analytics 读者内置角色所提供的权限。
语法
workspace(
标识符)
参数
workspace
表达式采用以下参数。
标识符
使用下表中的某种格式标识工作区。
标识符 | 说明 | 示例 |
---|---|---|
ID | 工作区 GUID | workspace("00000000-0000-0000-0000-000000000000") |
Azure 资源 ID | Azure 资源的标识符 | workspace("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/Contoso/providers/Microsoft.OperationalInsights/workspaces/contosoretail") |
注意
强烈建议使用工作区的唯一 ID 或 Azure 资源 ID 来标识工作区,因为它们可以消除歧义且性能更高。
示例
workspace("00000000-0000-0000-0000-000000000000").Update | count
workspace("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/Contoso/providers/Microsoft.OperationalInsights/workspaces/contosoretail").Event | count
union
( workspace("00000000-0000-0000-0000-000000000000").Heartbeat | where Computer == "myComputer"),
(app("00000000-0000-0000-0000-000000000000").requests | where cloud_RoleInstance == "myRoleInstance")
| count
union
(workspace("00000000-0000-0000-0000-000000000000").Heartbeat), (app("00000000-0000-0000-0000-000000000000").requests) | where TimeGenerated between(todatetime("2023-03-08 15:00:00") .. todatetime("2023-04-08 15:05:00"))
后续步骤
- 请参阅应用表达式,它使你可以在 Application Insights 应用程序上进行查询。
- 了解 Azure Monitor 数据是如何存储的。
- 访问有关 Kusto 查询语言的完整文档。