我有一个带有基础查询的简单-xml splunk仪表板,还有两个从基数继承的后处理查询。但是,当我加载仪表板时,总是说"找不到结果"。当我单击"打开搜索"按钮时,结果如预期所示。另外,当我退出基本搜索并将整个搜索放入两个面板中时,图表如预期显示。有人知道这里发生了什么吗?
这是行不通的仪表板XML:
<dashboard>
<label>Test Dashboard</label>
<description>This is a test</description>
<search id="base">
<query>
index=app sourcetype=tracelog splunk_server_group=prod
eventName=business:Logout
(NOT description="*invalid username or password*")
NOT code="6703" NOT code="6704" NOT "code=8006" NOT "code=6900" NOT "code=6000"
</query>
</search>
<row>
<panel>
<title>Test chart 1</title>
<chart>
<search base="base">
<query>
search success=false AND agent=true | timechart count by errors
</query>
</search>
<option name="charting.chart.stackMode">stacked</option>
<option name="charting.chart">column</option>
</chart>
</panel>
</row>
<row>
<panel>
<title>Test chart 2</title>
<chart>
<search base="base">
<query>
search success=false AND agent=false | timechart count by errors
</query>
</search>
<option name="charting.chart.stackMode">stacked</option>
<option name="charting.chart">column</option>
</chart>
</panel>
</row>
</dashboard>
但是,如果我将查询结合并摆脱基本查询,如下所示,它有效:
<dashboard>
<label>Test Dashboard</label>
<description>This is a test</description>
<row>
<panel>
<title>Test chart 1</title>
<chart>
<search>
<query>
index=app sourcetype=tracelog splunk_server_group=prod
eventName=business:Logout
(NOT description="*invalid username or password*")
NOT code="6703" NOT code="6704" NOT "code=8006" NOT "code=6900" NOT "code=6000"
| search success=false AND agent=true | timechart count by errors
</query>
</search>
<option name="charting.chart.stackMode">stacked</option>
<option name="charting.chart">column</option>
</chart>
</panel>
</row>
<row>
<panel>
<title>Test chart 2</title>
<chart>
<search>
<query>
index=app sourcetype=tracelog splunk_server_group=prod
eventName=business:Logout
(NOT description="*invalid username or password*")
NOT code="6703" NOT code="6704" NOT "code=8006" NOT "code=6900" NOT "code=6000"
| search success=false AND agent=false | timechart count by errors
</query>
</search>
<option name="charting.chart.stackMode">stacked</option>
<option name="charting.chart">column</option>
</chart>
</panel>
</row>
</dashboard>
有什么想法吗?我在这里错过了什么吗?
问题是,提到的基本搜索是一个不转换的搜索,而splunk却忘记了后处理中的字段。
在上述情况下,必须将基本搜索更改为
<query>
index=app sourcetype=tracelog splunk_server_group=prod
eventName=business:Logout
(NOT description="*invalid username or password*")
NOT code="6703" NOT code="6704" NOT "code=8006" NOT "code=6900" NOT "code=6000"
| fields success agent errors
</query>
而不是指定字段,您也可以使用| table *
传播所有字段。
另请参阅:http://docs.splunk.com/documentation/splunk/latest/viz/savedsearches#best_practices-主题:未返回结果
如果基本搜索是不转换的搜索,则必须在基本搜索中明确说明使用
| fields
命令在后过程搜索中使用哪些字段。例如,如果您的后过程搜索将随着时间的推移搜索销售的Buttercup游戏类别,则使用类似于以下的搜索命令。