Azure应用健康检查监控仪表板创建KQL查询咨询
Azure监控应用健康检查仪表板KQL实现方案
这套方案可直接接入Azure Monitor仪表板,实现API、依赖服务运行状态可视化,支持灵活切换时间范围,快速感知应用整体健康情况。
核心能力覆盖
- 同时展示API本身、下游所有依赖服务(数据库、缓存、第三方接口等)的运行状态
- 原生适配仪表板全局时间筛选器,支持30分钟、1小时、4小时及自定义长周期时间范围切换
- 支持从整体概览到单接口、单依赖的明细下钻,异常状态高亮提示,减少运维定位时间
可直接复用的KQL查询
1. 顶部整体健康概览查询
用于配置仪表板顶部的核心健康指标卡片,直接展示应用整体可用率、请求量、异常量:
// 自动适配仪表板所选时间范围,计算整体健康状态 let selectedTimeRange = {TimeRange:timespan}; requests | where timestamp >= ago(selectedTimeRange) | summarize 总请求量 = count(), 异常请求量 = countif(success == false), 整体成功率 = round(countif(success == true)*100.0/count(), 2) | extend 健康状态 = case( 整体成功率 >= 99.9, "健康", 整体成功率 >= 99, "警告", "异常" )
2. API接口维度健康明细查询
用于配置接口健康状态表格,快速定位异常接口:
let selectedTimeRange = {TimeRange:timespan}; requests | where timestamp >= ago(selectedTimeRange) | summarize 请求量 = count(), 异常请求量 = countif(success == false), 平均响应时间ms = round(avg(duration),2), 接口成功率 = round(countif(success == true)*100.0/count(),2) by 接口名称 = OperationName | extend 接口健康状态 = case( 接口成功率 >= 99.9 and 平均响应时间ms <= 1000, "健康", 接口成功率 >= 99 or 平均响应时间ms <= 3000, "警告", "异常" ) | sort by 异常请求量 desc
3. 依赖服务健康状态查询
用于配置依赖服务监控列表,覆盖所有下游调用的健康情况:
let selectedTimeRange = {TimeRange:timespan}; dependencies | where timestamp >= ago(selectedTimeRange) | summarize 调用次数 = count(), 调用失败次数 = countif(success == false), 平均调用延迟ms = round(avg(duration),2), 依赖调用成功率 = round(countif(success == true)*100.0/count(),2) by 依赖类型 = type, 依赖服务标识 = target | extend 依赖健康状态 = case( 依赖调用成功率 >= 99.9 and 平均调用延迟ms <= 500, "健康", 依赖调用成功率 >= 99 or 平均调用延迟ms <= 2000, "警告", "异常" ) | sort by 调用失败次数 desc
4. 健康度趋势查询
用于配置成功率趋势折线图,直观展示健康状态随时间的变化:
let selectedTimeRange = {TimeRange:timespan}; // 根据选择的时间范围自动适配聚合粒度,保证趋势图展示流畅 let aggGrain = case( selectedTimeRange <= 30m, 1m, selectedTimeRange <= 1h, 2m, selectedTimeRange <= 4h, 5m, 15m ); requests | where timestamp >= ago(selectedTimeRange) | summarize 时间段成功率 = round(countif(success == true)*100.0/count(),2) by bin(timestamp, aggGrain) | project 时间点 = timestamp, 时间段成功率
仪表板配置提示
- 查询中的
{TimeRange:timespan}是Azure Monitor仪表板的内置时间参数,配置查询时直接绑定仪表板全局时间筛选器即可,无需手动修改时间值 - 可根据自身业务SLA调整查询中健康状态判断的成功率、响应时间阈值,匹配实际业务要求
- 可视化组件适配建议:
- 整体健康概览查询配状态着色的指标卡片,健康标绿、警告标黄、异常标红,放在仪表板最顶部
- API明细、依赖服务明细查询配条件格式表格,异常行自动高亮
- 健康趋势查询配折线图,Y轴固定为0-100的成功率区间
如果你的应用使用了自定义日志埋点,只需要把查询里的表名、字段名替换成自定义埋点对应的表和字段即可正常使用。
内容的提问来源于stack exchange,提问作者mahi
相关产品推荐
相关产品推荐

