Datasource Prometheus#

data-sources-prometheus

Данный источник данных предназначен для подключения к базе данных, совместимую с Prometheus или VictoriaMetrics.

Предусловия#

Источника данных должен предустановлен в компоненте GRAF

Правила эксплуатации#

  • Доступ к источнику данных ограничивается на уровне RBAC.

  • Все подключения к источнику фиксируются в системе аудита.

  • Ограничьте объем запрашиваемых данных.

  • Обновления плагина Prometheus осуществляются только в составе дистрибутива PLUG.

Последовательность выполнения#

Настройка источника данных Prometheus#

Выполните следующие действия, чтобы настроить новый источник данных:

  • Нажмите Connections в меню слева.

  • Нажмите Add new connection

  • Введите Prometheus в строке поиска.

  • Выберите источник данных Prometheus.

  • Нажмите Add new data source в правом верхнем углу.

Выполнен переход на вкладку Settings, где необходимо настроить источник данных.

prometheus-settings

Основные параметры#

Опция

Описание

Name

укажите имя источника данных (например, Pangolin-DB-1).

Default

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

Параметры подключения (Connection)#

|Prometheus server URL`|URL-адрес сервера Prometheus.

Параметры аутентификации (Authentication)#

Authentication methods

Существует три варианта аутентификации для источника данных Prometheus.

Опция

Описание

Basic authentication

наиболее распространенный метод аутентификации.

User

имя пользователя, которое вы используете для подключения к источнику данных.

Password

пароль, который вы используете для подключения к источнику данных.

Forward OAuth

перенаправить токен доступа OAuth (а также токен OIDC ID, если он доступен) пользователя, запрашивающего источник данных.

No authentication

позволяет получить доступ к источнику данных без какой-либо аутентификации.

TLS settings

Используйте TLS (Transport Layer Security) для обеспечения дополнительного уровня безопасности при работе с Prometheus.

Опция

Описание

Add self-signed certificate

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

CA certificate

добавьте свой сертификат.

TLS client authentication

установите флаг, чтобы включить аутентификацию клиента по протоколу TLS.

Server name

добавьте имя сервера, которое используется для проверки имени хоста в возвращаемом сертификате.

Client certificate

сертификат клиента генерируется Центром сертификации или самоподписывается. Следуйте инструкциям Центра сертификации (CA), чтобы загрузить файл сертификата.

Client key

добавьте свой ключ клиента, который также может быть сгенерирован в Центре сертификации (CA) или быть самозаверяющим. Ключ клиента шифрует данные, передаваемые между клиентом и сервером.

Skip TLS verify

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

HTTP headers

Передавайте дополнительную информацию и метаданные о запросе или ответе.

Опция

Описание

Header

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

Value

значение заголовка.

Параметры подключения (Advanced settings)#

Ниже приведены дополнительные параметры конфигурации, которые можно настроить для большего контроля над вашим источником данных.

Advanced settings HTTP

Опция

Описание

Allowed cookies

укажите по имени файлы cookie, которые должны быть перенаправлены в источник данных. Прокси-сервер Grafana по умолчанию удаляет все перенаправленные файлы cookie.

Timeout

время ожидания HTTP-запроса должно быть в секундах.

Alerting

Опция

Описание

Manage alerts via Alerting UI

включено по умолчанию. Это позволяет использовать правила, управляемые источником данных, в Grafana для оповещений об этом источнике данных. Для Mimir это позволяет управлять правилами и оповещениями, управляемыми источником данных. В Prometheus поддерживается только просмотр существующих правил и предупреждений, которые отображаются как управляемые источником данных. Измените это, установив параметр default_manage_alerts_ui_toggle в файле конфигурации grafana.ini.

Allow as recording rules target

включено по умолчанию. Это позволяет выбрать источник данных в качестве целевого назначения для записи правил записи, управляемых Grafana. Если этот параметр включен, этот источник данных будет отображаться в списке целевых источников данных при создании или импорте правил записи. Если этот параметр отключен, источник данных будет отфильтрован из списка целевых параметров правил записи. Измените это, установив параметр default_allow_recording_rules_target_alerts_ui_toggle по умолчанию в файле конфигурации grafana.ini.

Interval behaviour

Опция

Описание

Scrape interval

устанавливает стандартный интервал очистки и оценки в Prometheus. Значение по умолчанию равно 15 секундам. Этот интервал определяет, как часто Prometheus выполняет очистку целевых объектов. Установите его таким образом, чтобы он соответствовал типичному интервалу очистки и оценки в вашем файле конфигурации Prometheus. Если вы установите более высокое значение, чем в вашей конфигурации Prometheus, Grafana будет обрабатывать данные с этим интервалом, что приведет к уменьшению количества точек данных.

Query timeout

устанавливает время ожидания запроса Prometheus. Значение по умолчанию - 60 секунд. Без тайм-аута сложные или неэффективные запросы могут выполняться бесконечно, потребляя ресурсы процессора и памяти.

Query editor

Опция

Описание

Default editor

устанавливает редактор запросов по умолчанию. Можно выбрать Builder или Code. Режим Builder помогает создавать запросы с помощью визуального интерфейса. Режим Code предназначен для опытных пользователей Prometheus, имеющих опыт работы с PromQL. Для получения дополнительной информации о типах редакторов обратитесь к Prometheus query editor. можно легко переключать редакторы кода в пользовательском интерфейсе редактора запросов.

Отключить поиск метрик

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

Performance

Опция

Описание

Prometheus type

выберите тип вашей базы данных, совместимой с Prometheus, например, Prometheus, Cortex, Mimir или Thanos. Изменение этого параметра сохранит текущую конфигурацию. Разные типы баз данных поддерживают разные API. Например, некоторые из них позволяют сопоставлять регулярные выражения для запросов меток для повышения производительности, в то время как другие предоставляют API метаданных. Неправильная настройка этого параметра может привести к непредвиденному поведению при запросе метрик и меток. Обратитесь к документации Prometheus, чтобы убедиться, что вы выбрали правильный тип.

Cache level

устанавливает уровень кэширования браузера для запросов редактора. Существует четыре варианта

Incremental querying (beta)

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

Query overlap window

если вы используете инкрементальный запрос, укажите продолжительность (например, 10, 120 или 0 секунд). Значение по умолчанию равно 10 минутам. Это буфер времени, добавляемый к инкрементным запросам, и это значение добавляется к продолжительности каждого инкрементного запроса.

Disable recording rules (beta)

включите, чтобы отключить правила записи. Когда правила записи отключены, Grafana не будет извлекать и анализировать правила записи из Prometheus, что повышает производительность панели мониторинга за счет снижения затрат на обработку.

Other

Опция

Описание

Custom query parameters

добавьте пользовательские параметры к URL-адресу запроса Prometheus, которые позволяют лучше контролировать выполнение запросов. Примеры

HTTP method

выберите HTTP-метод POST или GET для запроса источника данных. Рекомендуется использовать POST и выбран по умолчанию, поскольку он поддерживает запросы большего размера. Выберите GET, если вы используете Prometheus версии 2.1 или старше или если ваша сеть ограничивает запросы POST.

Series limit

максимальное количество возвращаемых рядов. Ограничение применяется ко всем ресурсам (метрикам, меткам и значениям) для обеих конечных точек (рядов и меток). Оставьте поле пустым, чтобы использовать ограничение по умолчанию (40000). Установите значение 0, чтобы отключить ограничение и получать все данные — это может привести к проблемам с производительностью. Ограничение по умолчанию равно 40000.

Use series endpoint

При включении этой опции Grafana использует конечную точку series (/api/v1/series) с параметром match[] вместо конечной точки label values (/api/v1/label/<label_name>/values). Хотя конечная точка label values, как правило, более производительна, некоторые пользователи могут предпочесть конечную точку series, поскольку она поддерживает метод POST, в то время как конечная точка label values допускает только запросы GET.

Exemplars

Поддержка exemplars доступна только для источника данных Prometheus. Дополнительные сведения о exemplars приведены во введении к exemplars. Exemplar - это трассировка, представляющая конкретное измерение, выполненное в течение заданного интервала времени.

Нажмите на знак +, чтобы добавить exemplars.

Опция

Описание

Internal link

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

URL (отображается, если вы отключили внутреннюю ссылку): определяет серверную трассировку URL внешней ссылки. Можно интерполировать значение из поля, используя макрос ${__value.raw}.

Опция

Описание

Источник данных

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

URL label

добавляет пользовательскую отображаемую метку, которая переопределяет значение поля Label name.

Label name

название поля в объекте label, используемое для получения свойства traceId.

Remove exemplar link

щелкните x, чтобы удалить существующие ссылки.

Результат#

После успешного сохранения и тестирования источника данных:

  • Отображается статус «Data source is working», подтверждающий корректное подключение к серверу Prometheus или совместимой системе (например, VictoriaMetrics).

  • Источник данных появляется в списке доступных с указанным именем (например, Prometheus-Prod).

  • Данный источник становится доступным для использования при создании и редактировании панелей на дашбордах.

  • Поддерживается выполнение PromQL-запросов с использованием выбранного редактора|визуального (Builder) или кодового (Code).

  • При включенных настройках TLS/SSL обеспечивается безопасное шифрованное соединение с сервером.

  • Если активирована аутентификация через OAuth, токен пользователя прозрачно передается, обеспечивая соответствие политикам безопасности.

  • Настройки кэширования, тайм-аутов и ограничений соединений начинают действовать, повышая стабильность и производительность системы.

  • При включенной опции Incremental querying снижается нагрузка на сервер за счет кэширования и выборки только новых данных.

  • Поддержка exemplars позволяет визуализировать трассировки, связанные с метриками, при наличии настроенной системы трассировки (например, Tempo).

  • Все параметры аутентификации (пароли, ключи, сертификаты) сохраняются в зашифрованном виде в базе данных PLUG.

  • Действие по добавлению источника фиксируется в системе аудита с указанием пользователя, времени, IP-адреса и результата операции.