Перейти к основному содержимому
Перейти к основному содержимому

Настройка источника данных ClickHouse в Grafana

Самый простой способ изменить конфигурацию - это использовать интерфейс Grafana на странице конфигурации плагина, но источники данных также могут быть предоставлены с помощью файла YAML.

Эта страница показывает список опций, доступных для конфигурации в плагине ClickHouse, а также фрагменты конфигурации для тех, кто предоставляет источник данных с помощью YAML.

Для быстрого обзора всех опций полный список конфигурационных опций можно найти здесь.

Общие настройки

Пример экрана конфигурации:

Пример защищенной конфигурации

Пример конфигурации YAML для общих настроек:

Обратите внимание, что свойство version добавляется, когда конфигурация сохраняется из интерфейса. Это показывает версию плагина, с которой была сохранена конфигурация.

HTTP Протокол

Дополнительные настройки будут отображены, если вы выберете подключение через HTTP протокол.

Дополнительные опции конфигурации HTTP

HTTP Путь

Если ваш HTTP-сервер доступен по другому URL-адресу, вы можете добавить это здесь.

Пользовательские HTTP Заголовки

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

Заголовки могут быть обычным текстом или защищенными. Все ключи заголовков хранятся в открытом виде, в то время как защищенные значения заголовков сохраняются в защищенной конфигурации (аналогично полю password).

Защищенные значения через HTTP

Хотя защищенные значения заголовков хранятся в защищенной конфигурации, значение все равно будет отправлено через HTTP, если защищенное соединение отключено.

Пример YAML для обычных/защищенных заголовков:

Дополнительные настройки

Эти дополнительные настройки являются необязательными.

Пример дополнительных настроек

Пример YAML:

OpenTelemetry

OpenTelemetry (OTel) глубоко интегрирован в плагин. Данные OpenTelemetry могут быть экспортированы в ClickHouse с помощью нашего экспортера плагина. Для наилучшего использования рекомендуется настроить OTel как для логов, так и для трассировок.

Также необходимо настроить эти значения по умолчанию для включения ссылок на данные, функции, которая позволяет создавать мощные рабочие процессы наблюдаемости.

Логи

Чтобы ускорить создание запросов для логов, вы можете установить базу данных/таблицу по умолчанию, а также столбцы для запроса логов. Это предзагрузит генератор запросов с исполняемым запросом логов, что ускорит просмотр на странице исследования для наблюдаемости.

Если вы используете OpenTelemetry, вы должны включить переключатель "Использовать OTel" и установить таблицу логов по умолчанию на otel_logs. Это автоматически переопределит столбцы по умолчанию, чтобы использовать выбранную версию схемы OTel.

Хотя OpenTelemetry не требуется для логов, использование единого набора данных логов/трассировок помогает обеспечить более гладкий рабочий процесс наблюдаемости с ссылками на данные.

Пример экрана конфигурации логов:

Конфигурация логов

Пример конфигурации логов YAML:

Трассировки

Чтобы ускорить создание запросов для трассировок, вы можете установить базу данных/таблицу по умолчанию, а также столбцы для запроса трассировок. Это предзагрузит генератор запросов с исполняемым поисковым запросом трассировок, что ускорит просмотр на странице исследования для наблюдаемости.

Если вы используете OpenTelemetry, вы должны включить переключатель "Использовать OTel" и установить таблицу трассировок по умолчанию на otel_traces. Это автоматически переопределит столбцы по умолчанию, чтобы использовать выбранную версию схемы OTel. Хотя OpenTelemetry не требуется, эта функция работает лучше всего, когда используется его схема для трассировок.

Пример экрана конфигурации трассировок:

Конфигурация трассировок

Пример конфигурации трассировок YAML:

Псевдонимы столбцов

Псевдонимы столбцов - это удобный способ запрашивать ваши данные под другими именами и типами. С помощью псевдонимизации вы можете взять вложенную схему и развернуть ее, чтобы ее можно было легко выбрать в Grafana.

Псевдонимизация может быть вам актуальна, если:

  • Вы знаете свою схему и большинство ее вложенных свойств/типов.
  • Вы храните свои данные в типах Map.
  • Вы храните JSON в виде строк.
  • Вы часто применяете функции для преобразования выбранных вами столбцов.

Псевдонимизированные столбцы, определенные в таблице

ClickHouse имеет встроенную псевдонимизацию столбцов и работает с Grafana из коробки. Псевдонимированные столбцы могут быть определены непосредственно в таблице.

В приведенном выше примере мы создаем псевдоним под названием TimestampDate, который преобразует временную метку в наносекундах в тип Date. Эти данные не хранятся на диске, как первый столбец, они рассчитываются во время выполнения запроса. Псевдонимы, определенные в таблице, не будут возвращены с SELECT *, но это можно настроить в настройках сервера.

Для получения дополнительной информации читайте документацию по ALIAS типу столбца.

Таблицы псевдонимов столбцов

По умолчанию Grafana будет предоставлять предложения по столбцам на основе ответа от DESC table. В некоторых случаях вы можете захотеть полностью переопределить столбцы, которые видит Grafana. Это помогает скрыть вашу схему в Grafana при выборе столбцов, что может улучшить пользовательский опыт в зависимости от сложности вашей таблицы.

Преимущество этого подхода перед псевдонимами, определенными в таблице, заключается в том, что вы можете легко обновлять их, не изменяя свою таблицу. В некоторых схемах это может быть тысячи записей, что может загромождать определение основной таблицы. Это также позволяет скрыть столбцы, которые вы хотите, чтобы пользователь игнорировал.

Grafana требует, чтобы таблица псевдонимов имела следующую структуру столбцов:

Вот как мы могли бы воспроизвести поведение столбца ALIAS, используя таблицу псевдонимов:

Теперь мы можем настроить эту таблицу для использования в Grafana. Обратите внимание, что имя может быть любым, или даже определено в отдельной базе данных:

Пример конфигурации таблицы псевдонимов

Теперь Grafana будет видеть результаты таблицы псевдонимов вместо результатов от DESC example_table:

Пример выбора таблицы псевдонимов

Оба типа псевдонимизации могут использоваться для выполнения сложных преобразований типов или извлечения полей JSON.

Все опции YAML

Это все параметры конфигурации YAML, доступные через плагин. Некоторые поля имеют пример значений, в то время как другие просто показывают тип поля.

Смотрите документацию Grafana для получения дополнительной информации о предоставлении источников данных с использованием YAML.