Splunk submitButton提交按钮未修改输入参数时无法刷新仪表盘问题
问题根因
Splunk默认提交按钮的触发逻辑是仅当绑定的输入控件令牌值发生变化时,才会触发关联搜索重新执行。你未修改任何参数时所有令牌值无变化,因此点击提交按钮不会触发搜索重跑。
可行解决方案
方案1:直接修改提交按钮配置(适用于Splunk 8.0及以上版本,Simple XML/Dashboard Studio均可)
这是成本最低的方案,仅需添加一个配置属性即可:
- 如果是传统Simple XML仪表盘,找到submit按钮对应的XML节点,添加属性
runWhenTokenUnchanged="true",示例代码如下:
<submit runWhenTokenUnchanged="true"> <label>提交搜索</label> </submit>
- 如果是Dashboard Studio创建的仪表盘,进入提交按钮的「设置」面板,拉到最底部的高级设置,开启即使令牌未更改也运行查询选项即可。
方案2:新增隐藏随机令牌兼容低版本(适用于Splunk 8.0以下版本)
如果你的Splunk版本不支持上述属性,可以通过新增隐藏的动态令牌实现强制刷新:
- 在输入控件区域添加一个隐藏的文本输入控件,绑定令牌
$refresh_token$,默认值留空 - 给提交按钮添加点击事件,每次点击时自动给
$refresh_token$赋值为当前时间戳或者随机数,Simple XML示例如下:
<submit> <label>提交搜索</label> <change> <set token="refresh_token">$random$</set> </change> </submit>
- 在所有关联提交按钮的搜索语句末尾添加一行不影响搜索结果的冗余逻辑:
| eval refresh_tag="$refresh_token$",令牌每次变化都会触发搜索重新执行,且这行逻辑不会改变原搜索的输出结果。
注意事项
如果你的搜索耗时较长,建议在提交按钮旁边加操作提示,避免用户频繁重复点击导致Search Head资源占用过高。
内容的提问来源于stack exchange,提问作者Dave
相关产品推荐
相关产品推荐

