Последнее обновление: августа 4, 2026

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

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

Перед началом

  • Для настройки источника данных вам нужна роль Organization administrator. Вы также можете настроить его через YAML с помощью провижининга Grafana или используя Terraform.

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

  • Подготовьте URL вашего сервера Prometheus. Если используется TLS/SSL, соберите необходимые сертификаты безопасности и клиентские ключи.

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

Добавление источника данных

Чтобы добавить источник данных Prometheus, выполните следующие шаги:

  1. Нажмите Connections в меню слева.
  2. В разделе Connections нажмите Add new connection.
  3. Введите Prometheus в строке поиска.
  4. Нажмите Prometheus data source.
  5. Нажмите Add new data source в правом верхнем углу.

Grafana переводит вас на вкладку Settings, где вы настраиваете конфигурацию Prometheus.

Параметры конфигурации

Следующие разделы описывают параметры конфигурации, доступные на вкладке Settings. Эти разделы следуют порядку, в котором они отображаются в интерфейсе.

Name и Default

  • Name — имя источника данных. Задаёт имя, которое вы используете для ссылки на источник данных на панелях и в запросах. Примеры: prometheus-1, prom-metrics.
  • Default — переключатель, чтобы выбрать источник данных по умолчанию на панелях дашборда.

Подключение

  • Prometheus server URL — URL вашего сервера Prometheus.

    Если Prometheus работает локально, используйте http://localhost:9090. Если он размещён на сетевом сервере, укажите URL сервера вместе с портом, на котором работает Prometheus. Пример: http://prometheus.example.orgname:9090.

    Note

    При запуске Grafana и Prometheus в отдельных контейнерах localhost относится к собственному сетевому пространству имён каждого контейнера. Это означает, что localhost:9090 указывает на порт 9090 внутри контейнера Grafana, а не на хост-машине.

    Используйте IP-адрес контейнера Prometheus или имя хоста, если вы используете Docker Compose. В качестве альтернативы вы можете использовать http://host.docker.internal:9090 для ссылки на хост-машину.

Аутентификация

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

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

    • User — имя пользователя, используемое для подключения к источнику данных.
    • Password — пароль, используемый для подключения к источнику данных.
  • Forward OAuth identity — передаёт OAuth-токен доступа (а также OIDC ID-токен, если он доступен) пользователя, запрашивающего источник данных.

  • No authentication — разрешает доступ к источнику данных без какой-либо аутентификации.

Дополнительные методы аутентификации (Azure AD, AWS SigV4) доступны в зависимости от вашего развёртывания:

Warning

Аутентификация Azure AD и SigV4 в основном источнике данных Prometheus устарела в Grafana 13. Существующие источники данных, использующие эти методы, автоматически мигрируются в выделенные плагины при запуске. Для новых настроек используйте вместо этого плагины Azure Monitor Managed Service for Prometheus или Amazon Managed Service for Prometheus. Подробности миграции см. в разделах Аутентификация Azure (устарела) или Аутентификация AWS (устарела).

  • Azure AD authentication — доступна в Grafana Enterprise и самостоятельно размещённых экземплярах, где настроено azure_auth_enabled = true. В Grafana Cloud эта опция требует серверного флага функции, который не включён по умолчанию. Свяжитесь с поддержкой Grafana, чтобы запросить его включение для вашего стека. Подробности конфигурации см. в разделе Настройки аутентификации Azure.

  • AWS SigV4 authentication — доступна в самостоятельно размещённых экземплярах Grafana, где настроено sigv4_auth_enabled = true. В Grafana Cloud эта опция недоступна по умолчанию. Свяжитесь с поддержкой Grafana, чтобы запросить её включение для вашего стека.

Note

Если опции Azure AD или SigV4 не отображаются в раскрывающемся списке аутентификации, необходимый флаг функции не включён в вашем экземпляре. Для Grafana Cloud отправьте запрос в поддержку. Для самостоятельно размещённых экземпляров обновите файл конфигурации Grafana.

Настройки TLS

Note

Используйте TLS (Transport Layer Security) для дополнительного уровня безопасности при работе с Prometheus. Информацию о настройке шифрования TLS с Prometheus см. в разделе Securing Prometheus API and UI Endpoints Using TLS Encryption. Вы должны добавить настройки TLS в ваш файл конфигурации Prometheus до установки этих параметров в Grafana.

  • Add self-signed certificate — установите флажок, чтобы аутентифицироваться с помощью сертификата CA. Следуйте инструкциям CA (Certificate Authority) для загрузки файла сертификата. Требуется для проверки самоподписанных TLS-сертификатов.
    • CA certificate — добавьте ваш сертификат.
  • TLS client authentication — установите флажок, чтобы включить клиентскую аутентификацию TLS.
    • Server name — добавьте имя сервера, которое используется для проверки имени хоста в полученном сертификате.
    • Client certificate — клиентский сертификат генерируется центром сертификации или является самоподписанным. Следуйте инструкциям CA для загрузки файла сертификата.
    • Client key — добавьте ваш клиентский ключ, который также может быть сгенерирован CA или быть самоподписанным. Клиентский ключ шифрует данные между клиентом и сервером.
  • Skip TLS verify — включите, чтобы обойти проверку TLS-сертификата. Не рекомендуется пропускать проверку TLS-сертификата, если только это не абсолютно необходимо или не для целей тестирования.

HTTP-заголовки

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

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

Расширенные настройки HTTP

  • Allowed cookies — укажите cookie по имени, которые следует передавать в источник данных. Прокси Grafana по умолчанию удаляет все передаваемые cookie.
  • Timeout — тайм-аут HTTP-запроса в секундах.

Алертинг

  • Manage alerts via Alerting UI — включено по умолчанию. Это включает правила, управляемые источником данных, в Grafana Alerting для этого источника данных. Для 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.

Поведение интервала

  • Scrape interval — задаёт стандартный интервал сбора и вычисления в Prometheus. По умолчанию — 15s. Установите его в соответствии с типичным интервалом сбора и вычисления в вашем файле конфигурации Prometheus. Если вы зададите значение выше, чем в вашей конфигурации Prometheus, Grafana будет вычислять данные с этим интервалом, что приведёт к меньшему количеству точек данных.
  • Query timeout — задаёт тайм-аут запроса Prometheus. По умолчанию — 60s. Без тайм-аута сложные или неэффективные запросы могут выполняться бесконечно, потребляя ресурсы ЦП и памяти.

Редактор запросов

  • Default editor — задаёт редактор запросов по умолчанию. Параметры: Builder или Code. Режим Builder помогает строить запросы с помощью визуального интерфейса. Режим Code предназначен для опытного пользователя Prometheus, уже владеющего PromQL. Дополнительные сведения о типах редакторов см. в разделе Редактор запросов Prometheus. Вы можете переключаться между редакторами в интерфейсе редактора запросов.
  • Disable metrics lookup — включите, чтобы отключить выбор метрик, а также поддержку метрик и меток в автодополнении поля запроса. Это может повысить производительность для больших экземпляров Prometheus.

Производительность

  • Prometheus type — выберите тип вашей совместимой с Prometheus базы данных. Неправильная установка этого параметра может вызвать неожиданное поведение при запросе метрик и меток. Cortex снят с поддержки; если вы используете Cortex, рассмотрите переход на Mimir.

    Возможность Prometheus Mimir Thanos Cortex
    Сопоставление меток по регулярному выражению в запросах переменных Нет Да Нет Да
    API метаданных (тип/справка метрики) Да (2.4+) Да Нет Да
    Экземпляры (Exemplars) Да (2.26+) Да Нет Нет
    Правила алертинга, управляемые источником данных (чтение/запись) Только чтение Чтение/запись Только чтение Чтение/запись
    Цель правил записи (запись обратно) Да Да Нет Да
    LBAC (командное управление доступом) Нет Да (Cloud/GEM) Нет Нет
    Нативные гистограммы Да (2.40+) Да Нет Нет

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

Note

Командное управление доступом на основе меток (LBAC) для источника данных Prometheus требует, чтобы бэкенд был Grafana Cloud Metrics (Mimir) или Grafana Enterprise Metrics (GEM). LBAC не работает с внешними совместимыми с Prometheus конечными точками, такими как Google Managed Prometheus, самостоятельно размещённый Prometheus или Thanos, даже если вы включите настройку teamHttpHeadersMimir. Применение LBAC основывается на специфичных для Mimir HTTP-заголовках, которые другие бэкенды не поддерживают.

  • Cache level — задаёт уровень кэширования браузером для запросов редактора. Параметры: Low, Medium, High или None. Более высокие настройки кэша рекомендуются для источников данных с высокой кардинальностью.
  • Incremental querying (beta) — включите, чтобы включить инкрементальные запросы. Вместо того чтобы всегда запрашивать свежие данные из экземпляра Prometheus, Grafana кэширует результаты запросов и извлекает только новые записи. Это помогает снизить нагрузку на базу данных и сеть.
    • Query overlap window — укажите длительность (например, 10m, 120s или 0s). По умолчанию — 10m. Этот буфер добавляется к каждому инкрементальному запросу, чтобы учесть задержку приёма данных.
  • Disable recording rules (beta) — включите, чтобы отключить правила записи. Когда эта опция отключена, Grafana не будет извлекать и разбирать правила записи из Prometheus, повышая производительность дашборда за счёт снижения накладных расходов на обработку.

Другое

  • Custom query parameters — добавьте пользовательские параметры в URL запроса Prometheus для большего контроля над выполнением запроса. Примеры: timeout, partial_response, dedup или max_source_resolution. Соединяйте несколько параметров с помощью &.
  • HTTP method — выберите HTTP-метод POST или GET для запроса вашего источника данных. Рекомендуется и выбран по умолчанию POST, поскольку он поддерживает более крупные запросы. Выберите GET, если ваша сеть ограничивает запросы POST.
  • Series limit — максимальное количество возвращаемых рядов. Лимит применяется ко всем ресурсам (метрикам, меткам и значениям) для обеих конечных точек (series и labels). Оставьте пустым, чтобы использовать лимит по умолчанию (40000). Установите 0, чтобы отключить лимит, что может вызвать проблемы с производительностью.
  • Use series endpoint — включите, чтобы использовать конечную точку series (/api/v1/series) с параметром match[] вместо конечной точки значений меток (/api/v1/label/<label_name>/values). Конечная точка значений меток, как правило, более производительна, но конечная точка series поддерживает метод POST.

Экземпляры (Exemplars)

Поддержка экземпляров (exemplars) доступна только для источника данных Prometheus. Экземпляр — это трассировка, представляющая конкретное измерение, взятое в заданном интервале времени. Дополнительную информацию см. в разделе Введение в экземпляры.

Нажмите знак +, чтобы добавить экземпляры.

  • Internal link — включите, чтобы включить внутреннюю ссылку. Это отображает селектор источника данных, где вы можете выбрать бэкенд-хранилище данных трассировки для данных ваших экземпляров.
  • URL — (отображается, если вы отключите Internal link) Определяет URL бэкенда трассировки внешней ссылки. Вы можете интерполировать значение из поля с помощью макроса ${__value.raw}.
  • Data source — (отображается, когда Internal link включена) Выберите источник данных трассировки, на который ссылается экземпляр.
  • URL label — добавляет пользовательскую метку отображения, чтобы переопределить значение поля Label name.
  • Label name — имя поля в объекте labels, используемое для получения свойства traceID.
  • Remove exemplar link — нажмите X, чтобы удалить существующие ссылки.

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

Private data source connect

Note

Private data source connect (PDC) доступен только для пользователей Grafana Cloud.

PDC позволяет установить приватное, защищённое соединение между экземпляром Grafana Cloud и источниками данных внутри приватной сети без открытия сети для входящего трафика.

  • Private data source connect network — выберите сеть PDC, в которой доступен ваш источник данных.

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

Если вы используете PDC с SigV4 (AWS Signature Version 4 Authentication), агент PDC должен разрешать исходящий доступ в интернет к sts.<region>.amazonaws.com:443.

Нажмите Manage private data source connect networks, чтобы просмотреть сведения о конфигурации PDC.

Дополнительную информацию см. в разделах Private data source connect (PDC) и Настройка PDC.

Для устранения проблем со связностью PDC (разрешение DNS, ошибки «host unreachable» или настройка параллельных подключений) см. Ошибки связности PDC.

Сохранение и проверка

После настройки параметров источника данных Prometheus нажмите Save & test внизу, чтобы проверить подключение источника данных.

Вы должны увидеть подтверждающее сообщение:

Successfully queried the Prometheus API.

Вы также можете удалить подключение, нажав Delete.

Провижининг источника данных

Вы можете определить и настроить источник данных в файлах YAML в рамках системы провижининга Grafana или использовать Terraform с провайдером Grafana.

Note

После провижининга источника данных вы не можете редактировать его через интерфейс.

Провижининг с YAML

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

Пример конфигурации источника данных Prometheus:

YAML
apiVersion: 1

datasources:
  - name: Prometheus
    type: prometheus
    access: proxy
    url: http://localhost:9090
    jsonData:
      httpMethod: POST
      manageAlerts: true
      allowAsRecordingRulesTarget: true
      prometheusType: Prometheus
      prometheusVersion: 3.3.0
      cacheLevel: 'High'
      disableRecordingRules: false
      seriesEndpoint: false
      timeInterval: 10s
      incrementalQueryOverlapWindow: 10m
      exemplarTraceIdDestinations:
        - datasourceUid: my_jaeger_uid
          name: traceID
        - name: traceID
          url: 'http://localhost:3000/explore?orgId=1&left=%5B%22now-1h%22,%22now%22,%22Jaeger%22,%7B%22query%22:%22$${__value.raw}%22%7D%5D'

Провижининг с Terraform

Вы можете настроить источник данных Prometheus с помощью Terraform и провайдера Grafana для Terraform.

Дополнительную информацию о провижининге ресурсов с помощью Terraform см. в разделе Grafana как код с использованием Terraform.

Следующий пример создаёт источник данных Prometheus с общими настройками:

hcl
resource "grafana_data_source" "prometheus" {
  name = "Prometheus"
  type = "prometheus"
  url  = "http://localhost:9090"

  json_data_encoded = jsonencode({
    httpMethod                    = "POST"
    manageAlerts                  = true
    prometheusType                = "Prometheus"
    prometheusVersion             = "3.3.0"
    cacheLevel                    = "High"
    disableRecordingRules         = false
    incrementalQuerying           = true
    incrementalQueryOverlapWindow = "10m"
    timeInterval                  = "15s"
    exemplarTraceIdDestinations = [{
      datasourceUid = "my_tempo_uid"
      name          = "traceID"
    }]
  })
}

Следующий пример создаёт источник данных Prometheus с базовой аутентификацией:

hcl
resource "grafana_data_source" "prometheus_auth" {
  name = "Prometheus (authenticated)"
  type = "prometheus"
  url  = "https://prometheus.example.com:9090"

  basic_auth_enabled  = true
  basic_auth_username = "grafana"

  json_data_encoded = jsonencode({
    httpMethod     = "POST"
    prometheusType = "Mimir"
    timeInterval   = "15s"
  })

  secure_json_data_encoded = jsonencode({
    basicAuthPassword = var.prometheus_password
  })
}

Все доступные параметры конфигурации см. в документации по ресурсу источника данных провайдера Grafana.

Настройки аутентификации Azure (устарели)

Warning

Аутентификация Azure AD в основном источнике данных Prometheus устарела в Grafana 13. Источники данных, использующие этот метод, автоматически мигрируются в выделенный плагин Azure Monitor Managed Service for Prometheus при запуске. Подробности миграции см. в разделе Аутентификация Azure (устарела).

Если вам всё ещё нужно настроить аутентификацию Azure AD в основном источнике данных Prometheus (например, в более старых версиях Grafana), см. раздел Настройка аутентификации Azure Active Directory (AD).

В Grafana Enterprise или самостоятельно размещённом OSS обновите файл конфигурации .ini. Чтобы найти ваш файл .ini, см. Расположение файла конфигурации.

Добавьте следующую настройку в раздел [auth]:

Bash
[auth]
azure_auth_enabled = true

Note

Если вы используете аутентификацию Azure, не включайте Forward OAuth identity. Оба метода используют одни и те же HTTP-заголовки авторизации, и OAuth-токен переопределяет ваши учётные данные Azure.

Устранение неполадок

Если вы столкнулись с проблемами после настройки вашего источника данных Prometheus, см. раздел Устранение неполадок источника данных Prometheus.