Splunk后处理时间图显示"未找到结果"在仪表板中,但查询本身很好

时间:2017-06-06 21:22:35

标签: splunk

我有一个带有基本查询的simple-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>

有什么想法吗?我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:1)

问题是,所提到的基本搜索是非转换搜索,而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命令在后处理搜索中使用哪些字段。例如,如果您的后期处理搜索将随着时间的推移搜索最畅销的毛茛游戏类别,您将使用类似于以下的搜索命令。