Корреляция
Каждая корреляция настраивается с помощью следующих параметров:
- Label
- Метка ссылки, отображаемая в визуализации
- Description
- Необязательное описание
- Source data source
- Источник результатов, для которых отображаются ссылки
- Results field
- Определяет, где в визуализации отображается ссылка
- Target query
- Целевой запрос, выполняемый при нажатии на ссылку
- Transformations
- Необязательные манипуляции с исходными данными, передаваемыми в целевой запрос
Узнайте, как создавать корреляции, на странице Administration или с помощью провижининга.
Исходный источник данных и поле результатов
Ссылки отображаются в визуализациях Explore для результатов из исходного источника данных корреляции. Ссылка назначается одному из полей результата, указанного в конфигурации корреляции (поле результатов). Каждая визуализация отображает поля со ссылками по-своему (Корреляции в панели логов и см. Корреляции в таблице).
Целевой запрос
Целевой запрос выполняется при нажатии на ссылку в визуализации. Вы можете использовать редактор запросов выбранного целевого источника данных, чтобы задать целевой запрос. К результатам исходных данных можно обращаться внутри целевого запроса с помощью переменных.
Переменные корреляции
Вы можете использовать переменные внутри целевого запроса для доступа к исходным данным, связанным с запросом. Корреляции используют синтаксис переменных Grafana. Переменные заполняются значениями из исходных результатов при нажатии на ссылку. Существует два типа переменных, которые вы можете использовать:
- переменные полей (позволяют обращаться к значениям полей и меткам)
- переменные корреляции (позволяют обращаться к значениям полей и преобразованиям)
Пример: если исходные результаты содержат поле с именем «employee», к значению поля можно обратиться так:
- Переменная поля ${__data.fields.employee}
- Переменная корреляции, которая сопоставляет указанное выше значение поля с ${employee}
Помимо сопоставления значений полей более коротким именам переменных, можно создавать дополнительные переменные корреляции, применяя преобразования к существующим полям
Подробнее см. пример в разделе Использование переменных и преобразований в корреляции.
Корреляция создаёт ссылку на данные только в том случае, если все переменные имеют значения в выбранной строке данных. Глобальные переменные являются исключением из этого правила и не обязаны заполняться из возвращённых данных. Эти переменные интерполируются источниками данных автоматически.
Преобразования корреляции
Корреляции позволяют извлекать больше переменных из значений полей. Результатом преобразований является набор новых переменных, к которым можно обращаться как к любым другим переменным.
Существует два типа преобразований: logfmt и регулярное выражение.
Каждое преобразование использует значение выбранного поля в качестве входных данных. Результатом преобразования является набор новых переменных, зависящий от типа и параметров преобразования.
Подробнее см. пример в разделе Использование переменных и преобразований в корреляции.
Преобразование logfmt
Преобразование logfmt разбирает значение поля, содержащее текст в формате пар «ключ/значение» logfmt. Каждая пара становится переменной, ключ которой является именем переменной.
Преобразование logfmt требует указания имени входного поля только в том случае, если вы хотите, чтобы преобразование применялось к полю, отличному от поля результатов. Пример выходных переменных для поля = «host=srv001 endpoint=/test app=foo»:
Преобразование с помощью регулярного выражения
Преобразование с помощью регулярного выражения разбирает значение поля на основе предоставленного регулярного выражения.
Параметры преобразования с помощью регулярного выражения:
- field
- Имя входного поля
- expression
- Регулярное выражение. Именованные группы захвата сопоставляются с переменными, имена которых совпадают с именем группы. Если используются неименованные группы соответствия, переменная создаётся из первого совпадения. Значение переопределяет переменную, совпадающую с входным полем, либо создаётся новая переменная, если указан mapValue (см. пример ниже)
- mapValue
- Используется с простыми группами регулярного выражения без именованных групп соответствия. По умолчанию первое совпадение переопределяет переменную с именем поля, используемого в качестве входного. Чтобы изменить это поведение по умолчанию, вы можете указать свойство mapValue. Указанное имя используется для создания новой переменной. Это может быть полезно, если вашему целевому запросу требуются и точное значение, и часть значения, извлечённая преобразованием.
Пример: предположим, что имя выбранного поля — «employee», а значение поля — «John Doe».
Различные выходные переменные в зависимости от параметров expression и mapValue: