Splunk - 处理仪表板搜索的空白令牌

Splunk - Handling a blank token for a dashboard search

提问人:H22 提问时间:11/16/2023 更新时间:11/16/2023 访问量:25

问:

我有以下搜索,以从另一个仪表板向下钻取:

MY SEARCH
|eval Status = if(isnull(REASON), "Null", REASON)
|eval Time = strftime(_time, "%Y-%m-%d %H:%M:%S")
|stats values(MEM_NBR) as MEM_NBR, latest(Status) as Status, max(Time) as TIME by C_ID
|where Status="$tok_status$"
|sort limit=0 Time desc

令牌将来自仪表板单击,并连接到文本框。我的问题是,如果令牌为空,我如何显示所有可用的“状态”?"$tok_status$"

我试过:

|where Status = if(isnull("$tok_status$"), Status, "$tok_status$")

但这并没有奏效。

splunk splunk-dashboard

评论

0赞 warren 11/17/2023
默认为 - 因此,当它为“空”时,它与“任何”匹配$tok_status$*
0赞 H22 11/17/2023
谢谢,但我在仪表板工作室中尝试过,并且由于某种原因扼杀了搜索。也许我做错了什么,但就目前而言,公认的答案对我有用。*

答:

1赞 RichG 11/16/2023 #1

我相信当未提供令牌时,“$tok_status$”变为“”,因此该函数将始终返回false。尝试isnull

|where Status = if("$tok_status$"="", Status, "$tok_status$").
另一种选择是让Splunk在令牌周围添加引号(如果存在)。

|where Status = if(isnull($tok_status|s$), Status, "$tok_status$")

评论

0赞 RichG 11/16/2023
@H22,哪个选项适合您?
0赞 H22 11/17/2023
|where Status = if(“$tok_status$”=“”, Status, “$tok_status$”) 谢谢。