首页 > 解决方案 > Splunk 查询使用 eval 函数后返回 0

问题描述

查询返回 0 值进行 eval 计算。

index=* 平台=PC browser_name=chrome 或 browser_name=edge 或 browser_name=safari | stats count(eval(player_event="play")) AS Play count(eval(error_event_type="vsf")) AS VSF count(eval((Play / VSF))) AS Rate by browser_name

我希望这个查询返回 eval 计数的百分比并显示一个时间表

标签: splunksplunk-query

解决方案


无法计算速率字段,因为仍在计算 Play 和 VSF。尝试将 Rate 分解为单独的eval命令。

index=* platform=PC browser_name=chrome OR browser_name=edge OR browser_name=safari 
| stats count(eval(player_event="play")) AS Play count(eval(error_event_type="vsf")) AS VSF by browser_name
| eval Rate=round(Play / VSF, 3)

此查询无法显示时间表,因为结果中没有 _time 字段。要获得每小时时间表,试试这个。span=1h如果您想要图表中的不同时间段,请更改为其他内容。

index=* platform=PC browser_name=chrome OR browser_name=edge OR browser_name=safari 
| bucket span=1h _time
| stats count(eval(player_event="play")) AS Play count(eval(error_event_type="vsf")) AS VSF by time, browser_name
| eval Rate=round(Play / VSF, 3)
| timechart span=1h values(Rate) as Rate

推荐阅读