菜单
文档breadcrumb arrow Grafana 文档breadcrumb arrow 数据源breadcrumb arrow InfluxDBbreadcrumb arrow 配置 InfluxDB 数据源
Grafana Cloud Enterprise 开源 RSS

配置 InfluxDB 数据源

本文档提供了配置 InfluxDB 数据源的说明,并解释了可用的配置选项。

开始之前

要配置 InfluxDB 数据源,您必须拥有 Administrator 角色。

注意

在添加 InfluxDB 数据源之前,请选择要与 InfluxDB 一起使用的查询语言。配置选项因查询语言类型而异。

InfluxData 提供了三种查询语言。需要考虑的一些关键点如下:

  • SQL 仅适用于 InfluxDB v3.x。
  • Flux 是 InfluxDB 2.x 的函数式数据脚本语言。有关使用 Flux 的基本指南,请参阅使用 Flux 查询 InfluxDB
  • InfluxQL 是 InfluxData 开发的一种类似 SQL 的查询语言。它不支持更高级的功能,例如 JOIN。

为了帮助您选择最适合您需求的语言,请参阅 Flux 与 InfluxQL 的比较以及 InfluxData 为何创建 Flux

添加 InfluxDB 数据源

完成以下步骤来设置新的 InfluxDB 数据源:

  1. 点击左侧菜单中的连接
  2. 点击添加新连接
  3. 在搜索栏中输入 InfluxDB
  4. 选择 InfluxDB 数据源。
  5. 点击右上角的添加新数据源

您将被带到设置选项卡,在那里您可以配置数据源。

InfluxDB 通用配置选项

以下配置选项适用于所有三种查询语言选项

  • 名称 - 设置在面板和查询中引用数据源时使用的名称。示例:InfluxDB-InfluxQL, InfluxDB_SQL
  • 默认 - 切换此项可将其设置为默认数据源。
  • 查询语言 - 选择 InfluxDB 实例的查询语言。三个选项是:
    • InfluxQL - 一种用于查询 InfluxDB 的类 SQL 语言,包含 SQL 用户熟悉的 SELECT、FROM、WHERE 和 GROUP BY 等语句。
    • SQL - 从 InfluxDB v3.0 开始提供的原生 SQL 语言。有关支持的语句、运算符和函数的列表,请参阅 InfluxData 的SQL 参考文档
    • Flux - Flux 是 InfluxData 开发的一种数据脚本语言,允许您查询、分析和处理数据。有关使用 Flux 的指南,请参阅Flux 入门

HTTP 部分

  • URL - InfluxDB API 的 HTTP 协议、IP 地址和端口。InfluxDB 的默认 API 端口是 8086
  • 允许的 Cookie - 定义哪些 Cookie 会转发到数据源。默认情况下,所有其他 Cookie 都将被删除。
  • 超时 - 设置 HTTP 请求超时时间(秒)。

身份验证部分

  • 基本身份验证 - 最常见的身份验证方法。使用您的 InfluxData 用户名和密码进行身份验证。启用此项需要您在基本身份验证详情下添加用户和密码。
  • 附带凭据 - 切换此项可启用在跨站请求中发送 Cookie 或身份验证头等凭据。
  • TLS 客户端身份验证 - 切换此项以使用客户端身份验证。启用后,在 TLS/SSL 身份验证详情部分下添加 Server nameClient certClient key。客户端提供服务器用于验证以建立客户端可信身份的证书。客户端密钥用于加密客户端和服务器之间的数据。
  • 附带 CA 证书 - 使用 CA 证书进行身份验证。按照您的 CA(证书颁发机构)的说明下载证书文件。
  • 跳过 TLS 验证 - 切换此项以跳过 TLS 证书验证。
  • 转发 OAuth 身份 - 转发查询数据源用户的 OAuth 访问令牌(如果可用,还包括 OIDC ID 令牌)。

基本身份验证详情

如果您在身份验证部分启用了基本身份验证,则需要配置以下项:

  • 用户 - 添加用于登录 InfluxDB 的用户名。
  • 密码 - 定义用于查询在数据库中定义的 bucket 的令牌。您可以从 InfluxDB UI 中的令牌页面获取此令牌。

TLS/SSL 身份验证详情

TLS/SSL 证书经过加密并存储在 Grafana 数据库中。

  • CA 证书 - 如果您启用了附带 CA 证书,请在此处添加您的自签名证书。
  • 服务器名称 - 服务器的名称。示例:server1.domain.com
  • 客户端证书 - 添加客户端证书。
  • 客户端密钥 - 添加客户端密钥。

自定义 HTTP 头

  • - 添加自定义 HTTP 头。从下拉列表中选择一个选项。允许根据您的 InfluxDB 实例需求传递自定义头。
  • - 头的值。

私有数据源连接

  • 私有数据源连接 - 仅适用于 Grafana Cloud 用户。 私有数据源连接 (PDC) 允许您在 Grafana Cloud 实例(或堆栈)与安全地位于私有网络内的数据源之间建立私有、安全的连接。点击下拉菜单查找 PDC 的 URL。有关 Grafana PDC 的更多信息,请参阅私有数据源连接 (PDC)

点击管理私有数据源连接将带您到您的 PDC 连接页面,在那里您可以找到您的 PDC 配置详情。

添加连接设置后,点击保存并测试以测试数据源连接。

InfluxQL 特定配置部分

以下设置仅适用于 InfluxQL 查询语言选项。

InfluxQL InfluxDB 详情部分

  • 数据库 - 设置要查询的 bucket 的 ID。有关如何查找可用 bucket 列表及其对应 ID 的信息,请参阅 InfluxData 文档中的查看 bucket
  • 用户 - 用于登录 InfluxDB 的用户名。
  • 密码 - 定义用于查询在数据库中定义的 bucket 的令牌。从 InfluxDB UI 的令牌页面获取密码。
  • HTTP 方法 - 设置用于查询数据源的 HTTP 方法。POST 方法允许处理使用 GET 方法会返回错误的较大查询。默认方法是 POST
  • 最小时间间隔 - (可选) 设置自动 group-by 的最小时间间隔。Grafana 建议将其设置为与数据写入频率匹配。例如,如果您的数据每分钟写入一次,建议将此间隔设置为 1 分钟,以便每个组都包含每次新写入的数据。默认值为 10s。有关格式示例,请参阅最小时间间隔
  • 最大时间序列数 - (可选) 设置 Grafana 处理的最大时间序列或表格数的限制。设置较低的限制以防止系统过载,或者如果您有许多小型时间序列且需要显示更多,则增加此限制。默认值为 1000

SQL 特定配置部分

以下设置仅适用于 SQL 查询语言选项。

SQL InfluxDB 详情部分

  • 数据库 - 指定 bucket ID。请参阅 InfluxDB UI 中的Buckets 页面以查找 ID。
  • 令牌 - 用于 SQL 查询的 API 令牌。在 InfluxDB Cloud 面板的加载数据 > API 令牌菜单下生成。
  • 不安全连接 - 切换此项可禁用 gRPC TLS 安全。
  • 最大时间序列数 - (可选) 设置 Grafana 处理的最大时间序列或表格数的限制。设置较低的限制以防止系统过载,或者如果您有许多小型时间序列且需要显示更多,则增加此限制。默认值为 1000

Flux 特定配置部分

以下设置仅适用于 Flux 查询语言选项。

Flux InfluxDB 详情部分

  • 组织 - 用于 Flux 查询的 Influx 组织。也用于 v.organization 查询宏。
  • 令牌 - 用于 Flux 查询的身份验证令牌。对于 Influx 2.0,使用Influx 身份验证令牌。令牌必须设置为值为 Token <生成的令牌>Authorization 头。对于 Influx 1.8,令牌是 用户名:密码
  • 默认 bucket - (可选) 用于 Flux 查询中 v.defaultBucket 宏的 Influx bucket
  • 最小时间间隔 - 设置自动 group-by 的最小时间间隔。Grafana 建议将此设置与数据写入频率对齐。例如,如果数据每分钟写入一次,则将间隔设置为 1 分钟,以确保每个组包含每次新写入的数据。默认值为 10s
  • 最大时间序列数 - 设置 Grafana 处理的最大时间序列或表格数的限制。设置较低的限制以防止系统过载,或者如果您有许多小型时间序列且需要显示更多,则增加此限制。默认值为 1000

最小时间间隔

最小时间间隔设置定义了自动 group-by 时间间隔的下限。

此值必须格式化为后跟有效时间标识符的数字:

标识符描述
y
M
w
d
h小时
m分钟
s
ms毫秒

您还可以在面板的数据源选项中覆盖此设置。

供应 InfluxDB 数据源

您可以在 YAML 文件中定义和配置数据源,作为 Grafana 供应系统的一部分。有关供应的更多信息以及可用的配置选项,请参阅供应 Grafana

注意

database 字段已弃用。Grafana 建议在 jsonData 中使用 dbName 字段。无需更改现有供应设置。

供应示例

供应因查询语言而异。

InfluxDB 1.x 示例

yaml
apiVersion: 1

datasources:
  - name: InfluxDB_v1
    type: influxdb
    access: proxy
    user: grafana
    url: https://: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: https://: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: https://:8086
    jsonData:
      dbName: site
      httpHeaderName1: 'Authorization'
    secureJsonData:
      httpHeaderValue1: 'Token <token>'

InfluxDB 3.x (SQL) 示例

yaml
apiVersion: 1

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