安装方式
命令行安装
在项目根目录执行以下命令,完成 Skill 安装。
npx bzskills add microsoft/azure-skills --skill azure-kusto 使用 KQL 在 Azure Data Explorer (Kusto/ADX) 中查询和分析数据,用于日志分析、遥测和时间序列分析。适用场景:KQL 查询、Kusto 数据库查询、Azure Data Explorer、ADX 集群、日志分析、时间序列数据、IoT 遥测、异常检测。
298.8k
下载量
命令行安装
在项目根目录执行以下命令,完成 Skill 安装。
npx bzskills add microsoft/azure-skills --skill azure-kusto name: azure-kusto
description: 使用 KQL 在 Azure Data Explorer (Kusto/ADX) 中查询和分析数据,用于日志分析、遥测和时间序列分析。适用场景:KQL 查询、Kusto 数据库查询、Azure Data Explorer、ADX 集群、日志分析、时间序列数据、IoT 遥测、异常检测。
license: MIT
metadata:
author: Microsoft
version: "1.1.1"执行 KQL 查询并管理 Azure Data Explorer 资源,用于对日志、遥测和时间序列数据进行快速、可扩展的大数据分析。
当用户提出以下请求时,立即使用此技能:
关键指标:
此技能支持查询和管理 Azure Data Explorer (Kusto),这是一个针对日志和遥测数据优化的快速且高度可扩展的数据探索服务。Azure Data Explorer 使用 Kusto 查询语言 (KQL) 在数十亿条记录上提供亚秒级查询性能。
主要功能:
通过简单筛选获取表中的最近记录。
示例 KQL:
Events
| where Timestamp > ago(1h)
| take 100
用途:快速数据检查、检索最近事件
按维度汇总数据以获取洞察和报告。
示例 KQL:
Events
| summarize count() by EventType, bin(Timestamp, 1h)
| order by count_ desc
用途:事件计数、分布分析、Top-N 查询
按时间窗口分析数据以发现趋势和模式。
示例 KQL:
Telemetry
| where Timestamp > ago(24h)
| summarize avg(ResponseTime), percentiles(ResponseTime, 50, 95, 99) by bin(Timestamp, 5m)
| render timechart
用途:性能监控、趋势分析、异常检测
组合多个表以进行跨数据集分析。
示例 KQL:
Events
| where EventType == "Error"
| join kind=inner (
Logs
| where Severity == "Critical"
) on CorrelationId
| project Timestamp, EventType, LogMessage, Severity
用途:根本原因分析、关联事件追踪
在查询前探索表结构。
工具:kusto_table_schema_get
用途:理解数据模型、查询规划
执行查询时,常见的字段模式:
ago()、between()、bin() 进行时间筛选查询结果包含:
🟢 性能优化:
wheretake 或 limit 减少数据传输🔵 查询模式:
summarize 进行聚合,而不是单独使用 count()bin() 进行时间分桶project 仅选择所需列extend 添加计算字段🟡 常用函数:
ago(timespan):相对时间 (ago(1h), ago(7d))between(start .. end):范围筛选startswith()、contains()、matches regex:字符串筛选parse、extract:从字符串中提取值percentiles()、avg()、sum()、max()、min():聚合take 或 limit 以避免结果集过大summarize 进行聚合而非客户端处理| 工具 | 用途 |
|---|---|
kusto_cluster_list | 列出订阅中所有 Azure Data Explorer 集群 |
kusto_database_list | 列出特定 Kusto 集群中的所有数据库 |
kusto_query | 对 Kusto 数据库执行 KQL 查询 |
kusto_table_schema_get | 检索特定表的架构信息 |
必需参数:
subscription:Azure 订阅 ID 或显示名称cluster:Kusto 集群名称(例如 "mycluster")database:数据库名称query:KQL 查询字符串(用于查询操作)table:表名称(用于架构操作)可选参数:
resource-group:资源组名称(用于列出操作)tenant:Azure AD 租户 ID如果 Azure MCP Kusto 工具失败、超时或不可用,则使用 Azure CLI 命令作为备用方案。
| 操作 | Azure CLI 命令 |
|---|---|
| 列出集群 | az kusto cluster list --resource-group <rg-name> |
| 列出数据库 | az kusto database list --cluster-name <cluster> --resource-group <rg-name> |
| 显示集群 | az kusto cluster show --name <cluster> --resource-group <rg-name> |
| 显示数据库 | az kusto database show --cluster-name <cluster> --database-name <db> --resource-group <rg-name> |
对于查询,使用 Kusto REST API 或直接集群 URL:
az rest --method post \
--url "https://<cluster>.<region>.kusto.windows.net/v1/rest/query" \
--body "{ \"db\": \"<database>\", \"csl\": \"<kql-query>\" }"
在以下情况下切换到 Azure CLI: