Переименование регулярных выражений возвращало значения токенов и передавало старые значения токенов(до того, как они были переименованы) в развернутый поисковый запрос в Splunk

#regex #splunk #splunk-query #splunk-calculation #splunk-dashboard

Вопрос:

У меня есть запрос splunk, который находит основные ошибки в журнале, используя регулярное выражение. Затем я отображаю его в виде гистограммы. регулярное выражение возвращает 10 значений для ошибки.

 someSearchQuery
| rex "someTerm(?<error>)
| stats count by error
| sort - count 
| head 10
 

Я хочу использовать значения, возвращаемые запросом, в детализации, чтобы при нажатии на гистограмму отображались результаты для этого значения

XML-код детализации, который я использовал для установки маркера, выглядит следующим образом

 <drilldown> 
    <set token="show_panel">true</set>
    <set token="selected_value">$click.value

lt;/set>
</drilldown>

а затем я использую этот маркер в детализированном запросе как таковой

 someSearchQuery
| rex "someTerm(?<error>)
| search error=$selected_value$
| timechart count by errorType span="1m"
| addcoltotals
| rename NULL as count
 

Эти имена ошибок слишком технические, и я хочу изменить их на что-то общее в главной панели и в детализации.

например, если регулярное выражение вернуло ошибку «Идентификатор не найден», я хочу заменить ее на «Data_error».

Кроме того, я хочу, чтобы мое название изменилось вместе с общим названием

 <title>$selected_value

lt;/title>

Но проблема в том , что когда я меняю имя с помощью eval , запрос детализации не получает фактического имени ошибки, и поиск завершается неудачно, потому что нет такой ошибки, как «Data_error». Для работы запроса требуется «идентификатор не найден».

Есть ли какой-либо способ добиться этого? Могу ли я изменить имя своего поискового запроса и в то же время использовать старый поисковый запрос в детализированном запросе?

Ответ №1:

Так что я, наконец, понял это. Выложите это для сообщества(мне помогли другие разработчики): Шаги—>

1.Установите дополнительный токен в раскрывающемся списке. используйте оценку, а не набор

 <drilldown>
        <set token="show_panel">true</set>
        <set token="selected_value">$click.value

lt;/set>
<eval token="converted_value">case($click.value$="ID not found","Data_error",$click.value$="some other code","some other value")</eval>
</drilldown>

2.Измените имена с оценкой в поиске, как это было сделано ранее, затем измените их обратно в оценке детализации.