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

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

В этом документе объясняется, как настроить источник данных InfluxDB, и описываются доступные параметры конфигурации.

Ключевые концепции

Если вы только начинаете работать с InfluxDB, эти термины будут встречаться по всему разделу о настройке:

Термин Описание
Bucket Именованное место в InfluxDB 2.x и 3.x, где хранятся данные временных рядов; эквивалент базы данных в 1.x.
Organization Рабочее пространство InfluxDB 2.x, которое объединяет пользователей, бакеты и дашборды.
DBRP mapping Сопоставление базы данных и политики хранения (Database and Retention Policy), которое позволяет запросам InfluxQL работать с бакетами InfluxDB 2.x.
Measurement Логическая группировка полей, тегов и временных меток в InfluxDB; аналог таблицы в реляционной базе данных.
Retention policy Настройка InfluxDB 1.x, определяющая, как долго хранятся данные до автоматического удаления.
Token Учётные данные для аутентификации, используемые для доступа к API InfluxDB в 2.x и 3.x.

Прежде чем начать

Для настройки источника данных InfluxDB у вас должна быть роль Administrator.

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

InfluxData предоставляет три языка запросов:

  • SQL — стандартный язык запросов SQL для InfluxDB 3.x и более новых облачных продуктов (Cloud Serverless, Cloud Dedicated, Clustered). InfluxData рекомендует SQL для новых развёртываний. Он поддерживает JOIN, подзапросы и стандартные функции SQL. Полный список поддерживаемых инструкций, операторов и функций приведён в справочнике по SQL в InfluxDB.
  • InfluxQL — язык запросов, похожий на SQL, разработанный InfluxData и доступный во всех версиях InfluxDB. InfluxQL не поддерживает такие сложные возможности, как JOIN. Подробности см. в справочнике по InfluxQL.
  • Flux — функциональный язык сценариев обработки данных для InfluxDB 2.x. Flux не поддерживается в InfluxDB 3.x. Базовое руководство см. в разделе Query InfluxDB with Flux.

Note

Если вы переносите данные с InfluxDB 1.x или 2.x на InfluxDB 3.x, InfluxData рекомендует выбрать в качестве языка запросов SQL. В руководстве по миграции от InfluxData описано, как перенести данные и запросы.

Если вы не уверены, какой продукт InfluxDB используете, воспользуйтесь инструментом определения продукта InfluxDB от InfluxData.

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

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

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

Note

Заполните обязательные параметры подключения и нажмите Save & test, прежде чем переименовывать источник данных. Если переименовать новый источник данных до сохранения, Grafana проверит всю конфигурацию и вернёт ошибку, поскольку поле URL всё ещё пустое.

Grafana откроет вкладку Settings, где настраивается источник данных. Боковая панель слева содержит ссылки для перехода к каждому разделу конфигурации:

  • URL and authentication
  • Database settings
  • Private data source connect (необязательно, только для Grafana Cloud)
  • Save & test

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

В следующих разделах описаны доступные параметры конфигурации.

Страница настройки источника данных InfluxDB с боковой навигацией и параметрами

Сначала настройте имя подключения.

  • Name — задаёт имя, по которому вы будете ссылаться на источник данных в панелях и запросах. Примеры: InfluxDB-InfluxQL, InfluxDB_SQL.
  • Default — переключатель, чтобы сделать источник данных используемым по умолчанию.

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

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

  • URL — протокол HTTP, IP-адрес и порт вашего API InfluxDB. Порт API InfluxDB по умолчанию — 8086. Когда вы вводите URL, Grafana пытается автоматически определить ваш продукт InfluxDB по шаблонам URL. Дополнительные сведения см. в разделе InfluxDB detection.
  • Product — выберите продукт InfluxDB, к которому вы подключаетесь. Доступные языки запросов зависят от выбранного продукта.
  • Query language — выберите язык запросов для вашего экземпляра InfluxDB. От этого зависят сведения о подключении, необходимые в разделе Database settings. Доступны следующие варианты:
    • Flux — функциональный язык сценариев обработки данных, разработанный InfluxData, который позволяет запрашивать данные, анализировать их и выполнять над ними действия. Рекомендации по использованию Flux см. в разделе Get started with Flux.
    • InfluxQL — язык, похожий на SQL, для запросов к InfluxDB, с такими инструкциями, как SELECT, FROM, WHERE и GROUP BY, знакомыми пользователям SQL.
    • SQL — нативный язык SQL, начиная с InfluxDB v3.0. Список поддерживаемых инструкций, операторов и функций см. в справочной документации по SQL от InfluxData.

В следующей таблице показано, какие языки запросов доступны для каждого продукта InfluxDB:

Продукт Поддерживаемые языки запросов
InfluxDB Cloud Dedicated SQL, InfluxQL
InfluxDB Cloud Serverless SQL, InfluxQL, Flux
InfluxDB Clustered SQL, InfluxQL
InfluxDB Enterprise 1.x InfluxQL, Flux
InfluxDB Enterprise 3.x SQL, InfluxQL
InfluxDB Cloud (TSM) InfluxQL, Flux
InfluxDB Cloud 1 InfluxQL
InfluxDB OSS 1.x InfluxQL, Flux
InfluxDB OSS 2.x InfluxQL, Flux
InfluxDB OSS 3.x SQL, InfluxQL

Note

Только для InfluxQL. Для следующих продуктов перед выполнением запросов к данным необходимо настроить Database + Retention Policy (DBRP) Mapping: InfluxDB OSS 1.x, InfluxDB OSS 2.x, InfluxDB Enterprise 1.x, InfluxDB Cloud (TSM), InfluxDB Cloud Serverless.

Указания по настройке с помощью CLI или API см. в разделе Manage DBRP Mappings.

Расширенные параметры HTTP

Включите Advanced HTTP Settings, чтобы развернуть дополнительные параметры, дающие больше контроля над источником данных.

  • Allowed cookies — определяет, какие cookie передаются источнику данных. Все остальные cookie по умолчанию удаляются.
  • Timeout — задаёт тайм-аут HTTP-запроса в секундах. Если значение не задано, Grafana использует параметр timeout из раздела dataproxy файла конфигурации, который по умолчанию равен 30 секундам. Увеличьте это значение, если сложные запросы или большие наборы результатов завершаются ошибками тайм-аута, например context deadline exceeded. Вычисления правил оповещений используют тот же тайм-аут, поэтому его увеличение также даёт запросам оповещений больше времени на выполнение.

Custom HTTP headers

Нажмите + Add header, чтобы добавить один или несколько HTTP-заголовков. HTTP-заголовки передают дополнительный контекст и метаданные о запросе/ответе.

  • Header — добавьте собственный HTTP-заголовок. Выберите вариант из выпадающего списка. Позволяет передавать собственные заголовки в зависимости от потребностей вашего экземпляра InfluxDB.
  • Value — значение заголовка.

Параметры аутентификации и TLS/SSL

Включите Auth and TLS/SSL Settings, чтобы развернуть параметры аутентификации и безопасности.

  • No Authentication — делает источник данных доступным без аутентификации. Grafana рекомендует использовать какой-либо способ аутентификации.
  • Basic auth — наиболее распространённый способ аутентификации. Используйте имя пользователя и пароль вашего экземпляра InfluxDB.
  • Forward OAuth identity — передаёт дальше OAuth-токен доступа (а также OIDC ID token, если он доступен) пользователя, выполняющего запрос к источнику данных.
  • With credentials — переключатель, разрешающий отправку учётных данных, таких как cookie или заголовки аутентификации, вместе с межсайтовыми запросами.

Сертификаты TLS/SSL шифруются и хранятся в базе данных Grafana.

  • TLS client auth — при включении добавьте Server name, Client cert и Client key. Клиент предоставляет сертификат, который проверяет сервер, чтобы установить доверенную идентичность клиента. Ключ клиента шифрует данные между клиентом и сервером.
    • Server name — имя сервера. Пример: server1.domain.com
    • Client cert — добавьте сертификат клиента.
    • Client key — добавьте ключ клиента.
  • CA cert — аутентификация с помощью сертификата CA. При включении следуйте инструкциям вашего CA (Certificate Authority) по загрузке файла сертификата.
  • Skip TLS verify — переключатель для обхода проверки сертификата TLS.

Параметры базы данных

Note

Указание базы данных для этого источника данных не запрещает доступ к другим базам данных. Синтаксис запросов InfluxDB позволяет переключать базу данных в самом запросе. Например: SHOW MEASUREMENTS ON _internal или SELECT * FROM "_internal".."database" LIMIT 10

Чтобы обеспечить изоляцию данных и безопасность, убедитесь, что в InfluxDB настроены соответствующие разрешения.

Эти параметры задают базу данных InfluxDB, к которой подключается источник данных. Обязательные поля зависят от языка запросов, выбранного в разделе URL and authentication.

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

Setting Flux InfluxQL SQL
Organization ✓
Default Bucket ✓
Database ✓ ✓
User ✓
Password ✓
Token ✓ ✓
  • Organization — задаёт организацию InfluxDB, используемую для запросов Flux. Также используется макросом запроса v.organization.
  • Default Bucket — бакет InfluxDB, используемый макросом v.defaultBucket в запросах Flux.
  • Database — задаёт имя базы данных для запросов. О том, как найти список доступных бакетов и соответствующих им идентификаторов, см. View buckets в документации InfluxData.
  • User — имя пользователя для входа в InfluxDB.
  • Password — пароль указанного пользователя. Используется с запросами InfluxQL.
  • Token — токен аутентификации, используемый для запросов к InfluxDB. Получите его на странице Tokens в интерфейсе InfluxDB.

Для SQL

  • Поле Database соответствует базе данных InfluxDB 3.x (эквивалент бакета).
  • Используйте database token с доступом на чтение целевой базы данных. Для InfluxDB Cloud Serverless и Cloud Dedicated создайте токен в консоли управления InfluxDB или через CLI.
  • Запросы SQL используют протокол FlightSQL (gRPC). Если ваш экземпляр InfluxDB не использует TLS, включите Insecure Connection в разделе Advanced Database Settings.

Для Flux

Расширенные параметры базы данных

Включите Advanced Database Settings, чтобы развернуть дополнительные параметры, дающие больше контроля над работой с запросами.

  • Max series — задаёт лимит на максимальное число серий или таблиц, обрабатываемых Grafana. Установите меньшее значение, чтобы предотвратить перегрузку системы, или увеличьте его, если у вас много небольших временных рядов и нужно отобразить больше из них. Значение по умолчанию — 1000.

Для Flux и InfluxQL

  • Min time interval — задаёт минимальный интервал времени для автоматической группировки. Grafana рекомендует устанавливать его в соответствии с частотой записи данных. Например, если данные записываются каждую минуту, рекомендуется установить этот интервал в 1 минуту, чтобы каждая группа содержала данные из каждой новой записи. Значение по умолчанию — 10s. Примеры форматов см. в разделе Min time interval.

Для InfluxQL

  • HTTP method — задаёт HTTP-метод, используемый для запросов к источнику данных. Метод POST позволяет выполнять более крупные запросы, которые вернули бы ошибку при использовании метода GET. Метод по умолчанию — POST.
  • Autocomplete range — задаёт ограничение диапазона времени для автодополнения в редакторе запросов, чтобы сократить время выполнения запросов фильтрации по тегам. Теги, отсутствующие в заданном диапазоне времени, отфильтровываются. Например, значение 12h включает только ключи и значения тегов за последние 12 часов. Эта возможность рекомендуется для очень больших баз данных, где можно наблюдать значительное повышение производительности.

Для SQL

  • Insecure Connection — переключатель для отключения безопасности gRPC TLS.

Private data source connect

Только для Grafana Cloud. Private data source connect (PDC) позволяет установить приватное защищённое соединение между экземпляром Grafana Cloud и источниками данных, защищёнными внутри частной сети. Дополнительные сведения см. в разделе Private data source connect (PDC).

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

Caution

При использовании PDC не задавайте URL InfluxDB как 127.0.0.1 или localhost. PDC туннелирует трафик через прокси SOCKS, который не может разрешать адреса обратной петли. Используйте IP-адрес машины в локальной сети или имя хоста, разрешаемое из сети, в которой работает агент PDC. Дополнительные сведения см. в разделе PDC connection fails with “no such host”.

Развёртывание агента PDC, настройка прокси, а также управление сетью и токенами описываются в документации по PDC, а не здесь. Установку см. в разделе Configure PDC, а ошибки агента, интерпретацию журналов и режимы отказа — в разделе Troubleshoot PDC issues.

Сохранить и проверить

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

Успешная проверка возвращает одно из следующих сообщений в зависимости от языка запросов:

Язык запросов Сообщение об успехе
Flux datasource is working. X buckets found
InfluxQL datasource is working. X measurements found
SQL OK

Если проверка не удалась, обратитесь к разделу Troubleshoot InfluxDB data source issues, где описано, как устранить типичные ошибки подключения и аутентификации.

Min time interval

Параметр Min time interval определяет нижнюю границу интервала времени для автоматической группировки.

Это значение должно быть отформатировано как число, за которым следует допустимый идентификатор времени:

Идентификатор Описание
y год
M месяц
w неделя
d день
h час
m минута
s секунда
ms миллисекунда

Этот параметр также можно переопределить в панели дашборда в разделе параметров её источника данных.

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

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

Note

Поле database признано устаревшим. Grafana рекомендует использовать поле dbName в jsonData. Менять существующие настройки провижининга не нужно.

Примеры провижининга

Провижининг отличается в зависимости от языка запросов.

Пример для InfluxDB 1.x:

YAML
apiVersion: 1

datasources:
  - name: InfluxDB_v1
    type: influxdb
    access: proxy
    user: grafana
    url: http://localhost:8086
    jsonData:
      dbName: site
      httpMode: GET
    secureJsonData:
      password: grafana

Пример для InfluxDB 2.x с Flux:

YAML
apiVersion: 1

datasources:
  - name: InfluxDB_v2_Flux
    type: influxdb
    access: proxy
    url: http://localhost:8086
    jsonData:
      version: Flux
      organization: organization
      defaultBucket: bucket
      tlsSkipVerify: true
    secureJsonData:
      token: token

Пример для InfluxDB 2.x с InfluxQL:

YAML
apiVersion: 1

datasources:
  - name: InfluxDB_v2_InfluxQL
    type: influxdb
    access: proxy
    url: http://localhost:8086
    jsonData:
      dbName: site
      httpHeaderName1: 'Authorization'
    secureJsonData:
      httpHeaderValue1: 'Token <token>'

Пример для InfluxDB 3.x с SQL:

YAML
apiVersion: 1

datasources:
  - name: InfluxDB_v3_SQL
    type: influxdb
    access: proxy
    url: http://localhost:8086
    jsonData:
      version: SQL
      dbName: site
      httpMode: POST
      insecureGrpc: false
    secureJsonData:
      token: '<api-token>'

Настройка источника данных с помощью Terraform

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

Предварительные требования Terraform

Перед началом вам потребуется:

  • Установленный Terraform
  • Провайдер Grafana для Terraform, настроенный с соответствующими учётными данными
  • Для Grafana Cloud: токен Cloud Access Policy с разрешениями на источники данных

Настройка провайдера

Настройте провайдер Grafana для подключения к вашему экземпляру Grafana:

hcl
terraform {
  required_providers {
    grafana = {
      source  = "grafana/grafana"
      version = ">= 2.0.0"
    }
  }
}

# For Grafana Cloud
provider "grafana" {
  url  = "<YOUR_GRAFANA_CLOUD_STACK_URL>"
  auth = "<YOUR_SERVICE_ACCOUNT_TOKEN>"
}

# For self-hosted Grafana
# provider "grafana" {
#   url  = "http://localhost:3000"
#   auth = "<API_KEY_OR_SERVICE_ACCOUNT_TOKEN>"
# }

Примеры Terraform

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

InfluxDB 2.x с Flux:

hcl
resource "grafana_data_source" "influxdb_flux" {
  type = "influxdb"
  name = "InfluxDB_Flux"
  url  = "http://localhost:8086"

  json_data_encoded = jsonencode({
    version       = "Flux"
    organization  = "<ORGANIZATION>"
    defaultBucket = "<DEFAULT_BUCKET>"
    tlsSkipVerify = false
  })

  secure_json_data_encoded = jsonencode({
    token = "<API_TOKEN>"
  })
}

InfluxDB 1.x с InfluxQL:

hcl
resource "grafana_data_source" "influxdb_influxql" {
  type = "influxdb"
  name = "InfluxDB_InfluxQL"
  url  = "http://localhost:8086"

  basic_auth_enabled  = true
  basic_auth_username = "<USERNAME>"

  json_data_encoded = jsonencode({
    dbName   = "<DATABASE>"
    httpMode = "POST"
  })

  secure_json_data_encoded = jsonencode({
    basicAuthPassword = "<PASSWORD>"
  })
}

InfluxDB 2.x с InfluxQL (аутентификация по токену):

hcl
resource "grafana_data_source" "influxdb_v2_influxql" {
  type = "influxdb"
  name = "InfluxDB_v2_InfluxQL"
  url  = "http://localhost:8086"

  json_data_encoded = jsonencode({
    dbName          = "<DATABASE>"
    httpHeaderName1 = "Authorization"
  })

  secure_json_data_encoded = jsonencode({
    httpHeaderValue1 = "Token <API_TOKEN>"
  })
}

InfluxDB 3.x с SQL:

hcl
resource "grafana_data_source" "influxdb_sql" {
  type = "influxdb"
  name = "InfluxDB_SQL"
  url  = "http://localhost:8086"

  json_data_encoded = jsonencode({
    version      = "SQL"
    dbName       = "<DATABASE>"
    httpMode     = "POST"
    insecureGrpc = false
  })

  secure_json_data_encoded = jsonencode({
    token = "<API_TOKEN>"
  })
}

Дополнительные сведения о провайдере Grafana для Terraform см. в документации провайдера Terraform.