如何查询Azure中Application Insights日志数据对应的来源端点?
查询Application Insights日志对应端点的实现方法
你可以通过以下两种常用方式快速定位日志的来源端点:
基于内置字段直接查询
Application Insights的
requests表默认会记录完整的请求端点地址,直接执行以下Kusto语句即可筛选查看:requests | where timestamp > ago(7d) // 可按需修改时间范围 | project 请求时间=timestamp, 端点地址=url, 响应码=resultCode, 耗时=duration, 服务角色=cloud_RoleName | order by 请求时间 desc如果你的不同端点部署在独立的服务实例上,还可以通过
cloud_RoleName(服务角色名)、cloud_RoleInstance(实例ID)两个内置字段直接分组筛选。自定义维度标记(适用于复杂部署场景)
如果默认字段无法满足精准区分的需求,你可以在每个Web Service的初始化逻辑中,给当前端点添加唯一的自定义维度标记,后续查询直接筛选该字段即可。
以.NET服务为例,添加自定义标记的代码示例:// 每个端点设置独有的标识值 TelemetryConfiguration.Active.TelemetryInitializers.Add(new MyTelemetryInitializer()); public class MyTelemetryInitializer : ITelemetryInitializer { public void Initialize(ITelemetry telemetry) { telemetry.Properties["EndpointUniqueId"] = "当前服务端点的唯一标识"; } }标记完成后,直接通过以下语句筛选特定端点的日志:
requests | where customDimensions.EndpointUniqueId == "目标端点的标识值"
补充:如果是同一域名下不同路径的端点,你也可以直接用
parse算子从url字段中提取路径片段做分类统计,无需额外添加自定义标记。
内容的提问来源于stack exchange,提问作者vishal_P
相关产品推荐
相关产品推荐

