KQL实现Azure OPDG聚合日志GatewayMEMKb转内存占比并生成时间图表
你可以直接在Log Analytics Workspace中使用KQL查询语句实现需求,操作逻辑如下:
- 先将你掌握的服务器总内存换算为KB单位,记为总内存KB值。
- 查询时先把
CounterAverage字段中的千位分隔符逗号移除,转换为数值类型避免计算报错。 - 使用
iff条件判断,仅当CounterName为GatewayMEMKb时执行占比计算,其他场景留空,计算逻辑为:(GatewayMEMKb数值 / 总内存KB值) * 100,可通过round函数保留需要的小数位数。
示例查询代码如下,你替换对应参数即可使用:
// 替换为你实际的服务器总内存,单位:KB,以下为128G内存的换算示例 let totalMemKB = 134217728; // 替换为你实际存储OPDG聚合日志的表名 你的自定义日志表名 | extend CounterAverageNum = toreal(replace_string(tostring(CounterAverage), ",", "")) | extend GatewayMEMUsedPercent = iff(CounterName == "GatewayMEMKb", round(CounterAverageNum / totalMemKB * 100, 1), "") | project CounterName, CounterAverage, GatewayMEMUsedPercent
执行上述查询后输出的结果完全匹配你期望的结构,后续要制作时间图表时,直接将GatewayMEMUsedPercent作为指标列,即可和其余三个百分比类指标共同展示。
内容的提问来源于stack exchange,提问作者TyrannosaurusDave
相关产品推荐
相关产品推荐

