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

如何在Splunk的mstats命令中按host字段的部分内容分组?

解决Splunk mstats按字段部分内容分组的问题

针对你遇到的无法在mstats的BY子句中直接使用提取的env字段的情况,有两种实用的解决方法:

方法一:先按host分组,提取env后重新聚合

先通过mstats按host和result细分聚合,提取env字段后,再用stats重新按result和env合并计算:

| mstats sum(s3-worker.ndjson.aggregation) AS aggregations
    WHERE index="service_metrics" 
      AND result=success
      AND host=my-worker-*-aggregator*
    earliest=-2h
    BY result, host
    span=1h
| eval env = replace(host, "^my-worker-(?<env>[^-]+)-aggregator.*$", "\1")
| stats sum(aggregations) AS aggregations BY result, env, _time
| eval active = IF(aggregations > 0, true, false)

先让mstats保留host维度的聚合结果,提取env后再合并同环境的数据,最终得到按result和env分组的统计值。

方法二:先提取env再执行mstats(适用于非纯度量索引场景)

如果你的数据是普通事件索引(而非专门的度量索引),可以先搜索事件并提取env,再执行mstats聚合:

| search index="service_metrics" result=success host=my-worker-*-aggregator* earliest=-2h
| rex field=host "^my-worker-(?<env>[^-]+)-aggregator.*$"
| mstats sum(s3-worker.ndjson.aggregation) AS aggregations BY result, env span=1h
| eval active = IF(aggregations > 0, true, false)

注意:该方法仅适用于先搜索事件再处理度量的场景,纯度量索引建议优先使用方法一。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 04:54:59