Documentation

从InfluxDB 1.x升级到InfluxDB Cloud

要从 InfluxDB OSS 1.x 升级到 InfluxDB Cloud

  1. 创建一个 InfluxDB Cloud 账户
  2. 创建一个全访问 API 令牌
  3. 下载并安装 influx CLI
  4. 创建 DBRP 数据映射
  5. 双向写入InfluxDB 1.x和InfluxDB Cloud
  6. 迁移时间序列数据
  7. 迁移连续查询
  8. 与其他用户协作

创建一个 InfluxDB Cloud 账户

执行以下操作之一以创建一个 InfluxDB Cloud 账户:

创建一个全访问API令牌

InfluxDB Cloud使用身份验证令牌来授权API请求。

在您的 InfluxDB Cloud 用户界面 (UI) 中创建一个 全访问 令牌以用于升级过程。

  1. 点击 数据 (加载数据) > 令牌 在左侧导航栏中。

  2. 点击 生成,然后选择 全访问令牌

  3. 输入令牌的描述,然后点击 保存

有关管理令牌和令牌类型的更多信息,请参见 管理令牌

下载并安装 influx CLI

  1. 访问InfluxDB下载页面并下载InfluxDB Cloud CLI (influx)。

  2. influx 二进制文件放置在您的系统 PATH 中,或从 influx CLI 所在的目录执行 CLI 命令。

  3. 创建CLI连接配置 用于您的InfluxDB Cloud账户。 包含以下标志:

    • --config-name: 连接配置的唯一名称。
    • --host-url: InfluxDB Cloud 区域 URL.
    • --org: InfluxDB Cloud 组织名称。 默认的组织名称是与您的帐户关联的电子邮件地址。
    • --token: InfluxDB Cloud 全访问 令牌。
    influx config create \
      --config-name cloud \
      --host-url https://cloud2.influxdata.com \
      --org your.email@example.com \
      --token mY5uP3rS3cRe7Cl0uDt0K3n \
      --active
    

所需的 InfluxDB Cloud 凭据

以下所有 influx CLI 示例都假设提供了所需的 InfluxDB Cloud 主机组织API 令牌 凭据,这些凭据由您的 influx CLI 配置 提供。

创建 DBRP 映射

InfluxDB 数据库和保留策略 (DBRP) 映射将数据库和保留策略组合与 InfluxDB cloud buckets 关联。这些映射允许 InfluxDB 1.x 客户端在使用 1.x DBRP 约定的同时查询和写入 InfluxDB Cloud buckets。

有关 DBRP 映射的更多信息,请参见 数据库和保留策略映射

将DBRP组合映射到InfluxDB Cloud桶

  1. 创建一个桶
    创建一个 InfluxDB Cloud 桶。 我们建议为每个独特的 1.x 数据库和保留策略组合创建一个桶,使用以下命名约定:

    # Naming convention
    db-name/rp-name
    
    # Example
    telegraf/autogen
    
  2. 创建一个DBRP映射
    使用influx v1 dbrp create命令来创建一个DBRP映射。提供以下信息:

    • 数据库名称
    • 保留策略名称 (不是保留期限)
    • 存储桶 ID
    • (可选) --default 标志,如果您希望保留策略成为指定数据库的默认保留策略

    influx v1 dbrp create \
      --db example-db \
      --rp example-rp \
      --bucket-id 00xX00o0X001 \
      --default
    
    # 创建 telegraf/autogen DBRP 映射,使用 autogen
    # 作为 telegraf DB 的默认 RP
    
    influx v1 dbrp create \
      --db telegraf \
      --rp autogen \
      --bucket-id 00xX00o0X001 \
      --default
    
    # 创建 telegraf/downsampled-daily DBRP 映射,
    # 写入不同的 bucket
    
    influx v1 dbrp create \
      --db telegraf \
      --rp downsampled-daily \
      --bucket-id 00xX00o0X002
    

双写入 InfluxDB 1.x 和 InfluxDB Cloud

更新外部客户端以写入您的 InfluxDB Cloud 实例。我们建议在您完成 迁移您现有的时间序列数据 之前,向 InfluxDB 1.x 和 InfluxDB Cloud 进行数据写入

使用您的 InfluxDB Cloud 主机组织API 令牌 配置外部客户端。

更新Telegraf配置

如果使用 Telegraf 收集并写入指标到 InfluxDB 1.x,请更新您的 Telegraf 配置,以同时写入 InfluxDB 1.x 和 InfluxDB Cloud:

  1. 使用 influxdb_v2 输出更新您的 Telegraf 配置,以便写入您的 InfluxDB Cloud 实例。

    示例双写 Telegraf 配置
    # Write metrics to InfluxDB 1.x
    [[outputs.influxdb]]
      urls = ["https://localhost:8086"]
      database = "example-db"
      retention_policy = "example-rp"
    
    # Write metrics to InfluxDB Cloud
    [[outputs.influxdb_v2]]
      urls = ["https://cloud2.influxdata.com"]
      token = "$INFLUX_TOKEN"
      organization = "your.email@example.com"
      bucket = "example-db/example-rp"
    
  2. INFLUX_TOKEN 环境变量添加到您的 Telegraf 环境中,并将值设置为您的 InfluxDB Cloud API 令牌。

  3. 使用更新的配置重启Telegraf,并开始同时写入 InfluxDB 1.x和InfluxDB Cloud。

迁移时间序列数据

要将时间序列数据从您的 InfluxDB 1.x 实例迁移到 InfluxDB Cloud:

  1. 使用InfluxDB 1.x influx_inspect export 命令导出时间序列数据为行协议。包括-lponly标志以排除注释和数据定义语言(DDL)从输出文件中。

    我们建议单独导出每个 DBRP 组合,以便轻松地将数据写入相应的 InfluxDB Cloud 存储桶。

    # Syntax
    influx_inspect export \
      -database <database-name> \
      -retention <retention-policy-name> \
      -out <output-file-path> \
      -lponly
    
    # Example
    influx_inspect export \
      -database example-db \
      -retention example-rp \
      -out /path/to/example-db_example-rp.lp \
      -lponly
    
  2. 使用 InfluxDB Cloud influx write 命令 将导出的行协议写入 InfluxDB Cloud。

    # Syntax
    influx write \
      --bucket <bucket-name> \
      --file <path-to-line-protocol-file>
    
    # Example
    influx write \
      --bucket example-db/example-rp \
      --file /path/to/example-db_example-rp.lp
    
  3. 对每个桶重复步骤 1-2。

InfluxDB Cloud 写入速率限制

读取和写入请求受限于与你的速率限制相关的InfluxDB Cloud计划。如果你导出的行协议大小可能超出你的速率限制,请在influx write中包含--rate-limit标志以限制写入数据的速率。

influx write \
  --bucket example-bucket \
  --file /path/to/example-db_example-rp.lp \
  --rate-limit "5MB/5min"

为了最小化网络带宽使用,我们推荐使用gzip来压缩导出的行协议。
然而,当写入InfluxDB Cloud时,数据输入摄取批量大小速率限制跟踪未压缩行协议的有效载荷大小。

迁移连续查询

有关将 InfluxDB 1.x 连续查询迁移到 InfluxDB Cloud 任务的信息, 请参阅 Migrate continuous queries to tasks

与其他用户协作

要与您在 InfluxDB Cloud 组织中的其他用户协作,邀请用户加入您的组织



Flux的未来

Flux 正在进入维护模式。您可以像现在一样继续使用它,而无需对您的代码进行任何更改。

阅读更多

InfluxDB 3 开源版本现已公开Alpha测试

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

我们将发布两个产品作为测试版的一部分。

InfluxDB 3 核心,是我们新的开源产品。 它是一个用于时间序列和事件数据的实时数据引擎。 InfluxDB 3 企业版是建立在核心基础之上的商业版本,增加了历史查询能力、读取副本、高可用性、可扩展性和细粒度安全性。

有关如何开始的更多信息,请查看:

由TSM驱动的InfluxDB Cloud