Временные диаграммы постобработки Splunk не отображают результатов на панели инструментов, но запрос сам по себе в порядке

У меня есть панель инструментов splunk в формате simple-xml с базовым запросом и двумя запросами постобработки, унаследованными от базового. Однако, когда я загружаю панель управления, она всегда говорит: «Результаты не найдены». Когда я нажимаю кнопку «Открыть в поиске», результаты отображаются должным образом. Кроме того, когда я выхожу из базового поиска и просто перекладываю весь поиск на обе панели, диаграммы отображаются так, как ожидалось. Кто-нибудь знает, что здесь происходит?

Вот 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>

Любые идеи? Я что-то упустил?


person Dave4988    schedule 06.06.2017    source источник


Ответы (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 - topic: Результаты не возвращены

Если базовый поиск не является преобразующим поиском, вы должны явно указать в базовом поиске, какие поля будут использоваться в постпроцессном поиске с помощью команды | fields. Например, если ваш пост-процессный поиск будет искать самые продаваемые категории игр про лютик с течением времени, вы должны использовать команду поиска, подобную следующей.

person Mike S    schedule 16.05.2018