跳到主要内容
哒哒星球DADA PLANET

Skill · 已公开版本

kql · 编写和修正日志分析查询

处理 KQL 连接、动态类型、时间、正则及内存与结果数量问题。

先看看示例

作者提供的示例,实际效果取决于你的输入和使用工具。

输入

编辑构造材料(未运行):
表 AppLogs:TimeGenerated datetime、Level string、Service string;查 checkout 服务 按 UTC 日期 2026-09-29 当天的 Error,按小时计数。

输出

编辑示例 · 未运行

AppLogs
| where TimeGenerated >= datetime(2026-09-29T00:00:00Z)
    and TimeGenerated < datetime(2026-09-30T00:00:00Z)
| where Service == "checkout" and Level == "Error"
| summarize Errors=count() by Hour=bin(TimeGenerated, 1h)
| order by Hour asc

方法说明

处理 KQL 连接、动态类型、时间、正则及内存与结果数量问题。

具体任务

按小时汇总服务错误数量:处理 KQL 连接、动态类型、时间、正则及内存与结果数量问题。

必需材料

表名、schema 与时间字段

过滤条件、统计粒度和排序需求

可选材料

匿名样本

运行错误或资源限制

使用门槛

理解 Kusto 管道查询,知道目标服务与数据读取权限。

这个 Skill 额外提供的方法

先过滤再汇总,动态字段显式转类型;窗口函数前保证排序和序列化,join 前检查基数。

编辑示例(未运行)

按小时汇总服务错误数量

任务:按小时汇总服务错误数量

输入:
编辑构造材料(未运行):
表 AppLogs:TimeGenerated datetime、Level string、Service string;查 checkout 服务 按 UTC 日期 2026-09-29 当天的 Error,按小时计数。

结果片段:
```kql
AppLogs
| where TimeGenerated >= datetime(2026-09-29T00:00:00Z)
    and TimeGenerated < datetime(2026-09-30T00:00:00Z)
| where Service == "checkout" and Level == "Error"
| summarize Errors=count() by Hour=bin(TimeGenerated, 1h)
| order by Hour asc
```

这是依据固定入口方法撰写的编辑示例,没有运行上游 Skill 或访问真实账号。先过滤再汇总,动态字段显式转类型;窗口函数前保证排序和序列化,join 前检查基数。

首次任务

请使用已安装的 kql Skill。
任务:按小时汇总服务错误数量。

我的必需材料:
- 表名、schema 与时间字段:[粘贴我的实际材料或路径;缺少时写明]
- 过滤条件、统计粒度和排序需求:[粘贴我的实际材料或路径;缺少时写明]

可选补充:
- 匿名样本:[可选,未提供时不要假定存在]
- 运行错误或资源限制:[可选,未提供时不要假定存在]

请先确认材料是否足够,只处理我提供的范围。只生成查询,不混入 .drop/.alter 等管理命令;大数据先限定时间与投影,避免无限结果或连接膨胀。交付可直接审阅的代码或查询片段,明确尚未执行或验证的部分。不要代入页面例子的虚构数据。
验收:
1. 字段和类型与 schema 相符。
2. 时间是明确区间,聚合与排序粒度一致。
3. 大表查询控制扫描与结果数量,join 前核对基数。

验收方法

字段和类型与 schema 相符。

时间是明确区间,聚合与排序粒度一致。

大表查询控制扫描与结果数量,join 前核对基数。

依赖与准备

需要完整 Skill 目录,保留 references/discovery-queries.md、references/advanced-patterns.md 等引用。需要 ADX、Fabric EventHouse、Log Analytics 等 KQL 环境之一及读取权限;写查询可离线,实际执行须有 schema 和范围。

使用边界

只生成查询,不混入 .drop/.alter 等管理命令;大数据先限定时间与投影,避免无限结果或连接膨胀。

需要表结构与样本或错误信息;执行依赖目标 Kusto 服务权限。

页面中的例子为编辑撰写,未运行上游 Skill;不代表平台兼容认证或生产实测。

排错

dynamic 无法用于分组:先 tostring/toint 等转成需要的标量类型。

E_RUNAWAY_QUERY:检查 join 两边基数与过滤,避免直接提高内存掩盖笛卡尔膨胀。

固定来源

https://github.com/microsoft/skills/blob/3495f50ae0d7b69dcb19c6922db9f80aab6cf79c/.github/skills/kql/SKILL.md

许可

MIT。许可原文:https://github.com/microsoft/skills/blob/3495f50ae0d7b69dcb19c6922db9f80aab6cf79c/LICENSE

仓库热度

microsoft/skills 仓库 3,065 Stars(2026-09-30 核验);这是父仓库指标,不是单个 Skill 的评分。