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

如何在Azure Log Analytics中定期运行搜索作业更新浏览器统计数据

解决Azure Log Analytics搜索作业重触发、自动更新及饼图深链问题

一、手动重新触发搜索作业(解决目标表已存在问题)

搜索作业默认不允许直接覆盖已存在的表,可通过以下方式处理:

  • 临时换表后重命名:先把搜索作业的目标表改成新名称(比如BrowserStats_SRCH_New),运行完成后删除旧表,再将新表重命名回原名称。适合临时应急更新。
  • 先删表再重跑:在Log Analytics查询编辑器执行drop table BrowserStats_SRCH,删除成功后重新触发搜索作业。注意:此操作会清空旧表数据,确认可重新生成数据再执行。
  • 改用更新策略替代搜索作业:如果是持续更新需求,搜索作业不是最优解,建议给目标表配置更新策略实现自动增量同步。示例代码如下:
    // 先创建目标表(如果还没创建)
    .create table BrowserStats_SRCH (Timestamp:datetime, Browser:string, Count:long)
    // 配置更新策略,从Nginx日志增量同步数据
    .alter table BrowserStats_SRCH policy update 
    @'[{"Source": "NginxLogs", "Query": "NginxLogs | parse UserAgent with * \"Browser:\" Browser | summarize Count=count() by Browser, bin(Timestamp, 1d)", "IsEnabled": true}]'
    
    配置后表会自动从NginxLogs中拉取新增数据,无需手动触发作业。

二、实现每日自动更新表数据

如果坚持用搜索作业,可通过自动化工具触发:

  • Azure Logic Apps定时触发:创建Logic Apps工作流,设置每日定时触发器,调用Log Analytics的RunSearchJob API,在请求参数中添加allowOverwrite: true来覆盖已有表数据。步骤:
    1. 添加“定时触发器”,设置每日执行时间;
    2. 添加“Azure Monitor Logs - 运行搜索作业”动作,选择对应工作区,填写查询内容和目标表名,在高级设置里开启覆盖选项。
  • 计划查询规则+Kusto函数:先创建一个提取每日浏览器数据的Kusto函数,再用计划查询规则每日运行并写入目标表:
    1. 创建函数:
      .create function with (folder = "Functions") BrowserStatsDaily() {
          NginxLogs
          | where Timestamp between (startofday(ago(1d)) .. endofday(ago(1d)))
          | parse UserAgent with * "Browser:" Browser
          | summarize Count=count() by Browser, bin(Timestamp, 1d)
      }
      
    2. 创建计划查询规则,每日执行BrowserStatsDaily() | ingest into table BrowserStats_SRCH,根据需求选择“追加”或“覆盖”模式。

三、获取饼图直接深链

生成饼图后直接复制深层链接即可:

  1. 运行查询生成饼图:
    BrowserStats_SRCH
    | summarize Total=sum(Count) by Browser
    | render piechart
    
  2. 点击图表右上角的「分享」按钮,选择「链接」,复制生成的URL就是饼图的直接深链。如果需要固定时间范围,可在查询中指定(比如where Timestamp > ago(30d)),再生成链接,打开后会自动应用该时间范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:02:06