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

Azure监控日志中如何创建可复用的服务器静态列表用于查询过滤?

在Azure Monitor日志中集中管理静态服务器名称列表的解决方案

以下是几种可行的集中式管理方案,替代直接在查询中嵌入服务器列表:

1. 使用查询函数(Query Functions)

适合静态、小规模的服务器列表,支持多查询共享:

  • 创建共享函数:
    1. 进入Log Analytics工作区的「查询」页面,点击「新建」>「函数」。
    2. 输入定义服务器列表的Kusto查询,示例:
    datatable(ServerName:string) [
        "Server01",
        "Server02",
        "Server03"
    ]
    
    1. 保存函数,命名为List_of_Servers,设置函数类型为「函数」,并配置共享权限给需要访问的用户/组。
  • 在查询中引用:
    可以用invoke调用函数,或者结合in子句,示例:
    AppMessages_CL
    | where event contains "memory"
    | extend x = parse_json(tostring(event))
    | where x.daemon in (invoke List_of_Servers())
    | extend y = parse_json(tostring(x.msg))
    | where toint(substring(tostring(y.memory), 0, 3)) >= 200
    

2. 使用自定义日志表(Custom Log Table)

适合需要频繁更新、条目较多的服务器列表:

  • 创建自定义日志表:
    1. 将服务器列表整理为CSV文件(单列,列名设为ServerName,每行一个服务器名称)。
    2. 进入Log Analytics工作区的「自定义日志」页面,上传该CSV文件,创建名为ServerList的自定义日志表。
  • 在查询中引用:
    通过子查询获取列表后过滤,示例:
    AppMessages_CL
    | where event contains "memory"
    | extend x = parse_json(tostring(event))
    | where x.daemon in (ServerList | project ServerName)
    | extend y = parse_json(tostring(x.msg))
    | where toint(substring(tostring(y.memory), 0, 3)) >= 200
    
    若需要更新列表,只需重新上传新版CSV文件覆盖即可。

3. 使用工作区变量(Workspace Variables)

适合全局共享、需统一管理的服务器列表(需Azure Monitor工作区支持该功能):

  • 创建工作区变量:
    1. 进入Log Analytics工作区的「设置」>「变量」页面,点击「新建变量」。
    2. 变量类型选择「字符串数组」,名称设为AllowedServers,值填入服务器名称数组,示例:["Server01","Server02","Server03"]。
  • 在查询中引用:
    通过vars()函数调用变量,示例:
    AppMessages_CL
    | where event contains "memory"
    | extend x = parse_json(tostring(event))
    | where x.daemon in dynamic(vars('AllowedServers'))
    | extend y = parse_json(tostring(x.msg))
    | where toint(substring(tostring(y.memory), 0, 3)) >= 200
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 22:33:14