You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助编写Kusto查询:获取过去7天每日日志计数

解决方案:Kusto统计过去7天每日日志数量

没问题,这就帮你写出符合需求的Kusto查询,刚好能实现过去7天每日日志数量统计,还能按你要的格式显示星期和计数~

完整Kusto查询

// 定义中文星期名称映射数组
let dayNames = dynamic(["周日", "周一", "周二", "周三", "周四", "周五", "周六"]);
// 替换成你的实际表名
YourTableName
// 筛选过去7天的完整日期(不含当天,对应你例子中9.2-9.8的范围)
| where timestamp between (startofday(ago(7d)) .. startofday(now()))
// 按自然日分组,统计每日日志数
| summarize LogCount = count() by DayStart = bin(timestamp, 1d)
// 将日期转换为对应的中文星期名称
| extend DayName = dayNames[dayofweek(DayStart)]
// 生成符合要求的显示文本,最近一天标注“当日”
| extend DisplayText = strcat(
    DayName, 
    iff(DayStart == startofday(ago(1d)), "(当日)", ""), 
    " 日志计数-", 
    tostring(LogCount)
)
// 按日期倒序排列,最近的日期排在最前面
| sort by DayStart desc
// 仅输出最终的统计文本(如需保留日期列可删除此行)
| project DisplayText

关键部分说明

  • 星期名称映射:用dayNames数组把Kusto内置dayofweek()返回的数字(0=周日,1=周一…6=周六)转换成中文星期。
  • 日期范围筛选:startofday(ago(7d))会定位到7天前的凌晨0点,startofday(now())是今天凌晨0点,这样就能精准获取过去7天的完整日志数据(不含当天)。如果需要包含当天,把startofday(now())改成now()即可。
  • 分组统计:bin(timestamp, 1d)将时间戳按自然日分组,配合count()得到每日日志总数。
  • 显示格式处理:用strcat和iff函数拼接出你要的格式,自动给最近的一天(昨天)加上“(当日)”标注。
  • 排序逻辑:按日期倒序排列,让最近的统计结果显示在最上方,和你例子里的顺序一致。

示例输出

如果当前日期是2022年9月9日,查询输出会类似:

周三(当日) 日志计数-50
周二 日志计数-105
周一 日志计数-65
周日 日志计数-42
周六 日志计数-78
周五 日志计数-90
周四 日志计数-62

内容的提问来源于stack exchange,提问作者OoO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 13:52:36