Почему запросы Grafana ElasticSearch работают, когда они жестко запрограммированы, но не работают при использовании подстановки значений переменных Grafana? и как это исправить?

Запрос ElasticSearch работает, когда он жестко запрограммирован, но не выполняется при использовании подстановки значений переменной Grafana:

Запрос: +nginx.access.upstream.response: [*, 1**, 2**, 3**, 4**, 5**, 500]
Каждый из этих запросов работает, когда вы жестко кодируете эти значения в запросе.

Example Query: +nginx.access.upstream.response: 1** 
               ^That works shows a table of data instead of "No data to show"

Хотя это работает, лучше использовать переменную с 7 значениями, которая позволяет вам использовать 1 панель для отображения тех же данных, которые можно поместить в 7 жестко закодированных панелей, так что вы получите более чистый пользовательский интерфейс.

Проблема в том, что вы переключили жестко запрограммированные значения в переменные, заполненные значениями, запрос больше не работает.
Работают подключенные значения переменных [* и 500]
Подключенные значения переменных [1**, 2**, 3**, 4**, 5**] не работают / не приводят к "Нет данных для отображения", как показано выше.

Когда подставляются значения в запрос, происходит нечто забавное.
В1.) Какой лучший инструмент / метод для отладки истинного значения переменной после подстановки / Выясните, почему она "перестала работать"?
Q2.) Какой метод это исправить / достичь желаемого конечного результата?

1 ответ

Решение

В1.) Какой лучший инструмент / метод для отладки истинного значения переменной после подстановки / Выясните, почему она "перестала работать"?

Ответ 1: Инспектор запросов
1** - при замене становится -> 1\\*\\*
что объясняет, почему это не сработало

Q2.) Какой метод это исправить / достичь желаемого конечного результата?

Ответ 2: Что мне помогло, так это избегание использования специального символа * в значениях переменных.
Я переименовал переменную в HTTP Code Prefix и использовал значения [*,1,2,3,4,5]
Затем я использовал Query: +nginx.access.upstream.response: $http_code_prefix*

Другие вопросы по тегам