#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.Измените имена с оценкой в поиске, как это было сделано ранее, затем измените их обратно в оценке детализации.