从InfluxDB 1.x升级到InfluxDB Cloud
要从 InfluxDB OSS 1.x 升级到 InfluxDB Cloud:
- 创建一个 InfluxDB Cloud 账户
- 创建一个全访问 API 令牌
- 下载并安装
influxCLI - 创建 DBRP 数据映射
- 双向写入InfluxDB 1.x和InfluxDB Cloud
- 迁移时间序列数据
- 迁移连续查询
- 与其他用户协作
创建一个 InfluxDB Cloud 账户
执行以下操作之一以创建一个 InfluxDB Cloud 账户:
- 通过 InfluxData 订阅 并免费开始。
- 通过您的云服务提供商订阅.
创建一个全访问API令牌
InfluxDB Cloud使用身份验证令牌来授权API请求。
在您的 InfluxDB Cloud 用户界面 (UI) 中创建一个 全访问 令牌以用于升级过程。
点击 数据 (加载数据) > 令牌 在左侧导航栏中。
点击 生成,然后选择 全访问令牌。
输入令牌的描述,然后点击 保存。
有关管理令牌和令牌类型的更多信息,请参见 管理令牌。
下载并安装 influx CLI
访问InfluxDB下载页面并下载InfluxDB Cloud CLI (
influx)。将
influx二进制文件放置在您的系统PATH中,或从influxCLI 所在的目录执行 CLI 命令。创建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桶
创建一个桶
创建一个 InfluxDB Cloud 桶。 我们建议为每个独特的 1.x 数据库和保留策略组合创建一个桶,使用以下命名约定:# Naming convention db-name/rp-name # Example telegraf/autogen创建一个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:
使用
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"将
INFLUX_TOKEN环境变量添加到您的 Telegraf 环境中,并将值设置为您的 InfluxDB Cloud API 令牌。使用更新的配置重启Telegraf,并开始同时写入 InfluxDB 1.x和InfluxDB Cloud。
迁移时间序列数据
要将时间序列数据从您的 InfluxDB 1.x 实例迁移到 InfluxDB Cloud:
使用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使用 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对每个桶重复步骤 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 组织中的其他用户协作,邀请用户加入您的组织。