要获得与亚马逊 Timestream 类似的功能 LiveAnalytics,可以考虑适用于 InfluxDB 的亚马逊 Timestream。适用于 InfluxDB 的 Amazon Timestream 提供简化的数据摄取和个位数毫秒级的查询响应时间,以实现实时分析。点击此处了解更多信息。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
如何使用脚本
运行脚本的简单示例是命令:
python3 influx_migration.py --src-host <source host> --src-bucket <source bucket> --dest-host <destination host>
可迁移单个存储桶。
可通过运行以下命令查看所有选项:
python3 influx_migration.py -h
用法
shell influx_migration.py [-h] [--src-bucket SRC_BUCKET] [--dest-bucket DEST_BUCKET] [--src-host SRC_HOST] --dest-host DEST_HOST [--full] [--confirm-full] [--src-org SRC_ORG] [--dest-org DEST_ORG] [--csv] [--retry-restore-dir RETRY_RESTORE_DIR] [--dir-name DIR_NAME] [--log-level LOG_LEVEL] [--skip-verify] [--s3-bucket S3_BUCKET]
Options
-confirm-full(可选):使用
--full而不使用--csv将替换目标数据库中的所有令牌、用户、存储桶、控制面板及其他键值数据,用源数据库中的相应令牌、用户、存储桶、控制面板及其他键值数据进行替换。--full与--csv结合使用将仅迁移所有存储桶及其元数据,包括存储桶组织。此选项(--confirm-full)将确认完整迁移并继续执行,无需用户输入。如果未提供此选项,且--full已提供而--csv未提供,则脚本将暂停执行并等待用户确认。这是一项关键操作,请谨慎进行。默认值为 false。-csv(可选):是否使用 csv 文件进行备份和还原。如果
--full也通过,则所有组织中所有用户定义的存储桶都将进行迁移,但系统存储桶、用户、令牌或控制面板除外。如果需要在目标服务器上为所有存储桶创建单一组织,而非使用其已存在的源组织,请使用--dest-org。-dest-bucket DEST_BUCKET(可选):目标服务器中 InfluxDB 存储桶的名称不得与现有存储桶重复。如果未提供
--src-bucket,则默认值为--src-bucket或None。-dest-host DEST_HOST:目标服务器的主机。示例:http://localhost:8086。
-dest-org DEST_ORG(可选):目标服务器中用于还原存储桶的组织名称。如果跳过此选项,则源服务器迁移的所有存储桶都将保留其原始组织结构,且迁移后的存储桶可能无法在目标服务器中显示,除非创建并切换组织。此值将应用于所有形式的还原操作,无论是单个存储桶还原、完整迁移,还是使用 CSV 进行备份和还原的任何迁移操作。
-dir-name DIR_NAME(可选):要创建的备份目录名称。默认值为
influxdb-backup-<timestamp>。不得与已有名称重复。-full(可选):是否执行完整还原,即将目标服务器上的所有数据替换为源服务器中所有组织的数据,包括所有键值数据(例如令牌、控制面板、用户等)。覆盖
--src-bucket和--dest-bucket。如果与--csv结合使用,则仅迁移存储桶的数据和元数据。默认值为 false。h, --help:显示帮助消息并退出。
-log-level LOG_LEVEL(可选):执行期间要使用的日志级别。选项包括调试、错误及信息。默认值为信息。
-retry-restore-dir RETRY_RESTORE_DIR(可选):上一次还原失败时用于恢复的目录将跳过备份和目录创建,如果该目录不存在则将失败,可以是 S3 存储桶中的一个目录。如果还原失败,系统将显示可用于还原的备份目录路径,该路径相对于当前目录进行标识。S3 存储桶将采用
influxdb-backups/<s3 bucket>/<backup directory>形式。默认的备份目录名称为influxdb-backup-<timestamp>。-s3-bucket S3_BUCKET(可选):用于存储备份文件的 S3 存储桶名称。在 Linux 上,这仅是 S3 存储桶的名称(例如
amzn-s3-demo-bucket1),前提是AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY环境变量已设置或${HOME}/.aws/credentials存在。在 Windows 上,这是rclone已配置的远程和存储桶名称,例如my-remote:amzn-s3-demo-bucket1。所有备份文件将在迁移后保留在 S3 存储桶内,存放在创建的influxdb-backups-<timestamp>目录中。将在运行此脚本的目录中创建名为influx-backups的临时挂载目录。如果尚未提供,则所有备份文件将存储于本地,具体位置为运行此脚本所在目录下创建的influxdb-backups-<timestamp>目录。-skip-verify(可选):跳过 TLS 证书验证。
-src-bucket SRC_BUCKET(可选):源服务器中 InfluxDB 存储桶的名称。如果尚未提供,则必须提供
--full。-src-host SRC_HOST(可选):源服务器的主机。默认为 http://localhost:8086。
如前所述,如果要使用 --s3-bucket,则必须提供 mountpoint-s3 和 rclone,但如果用户未提供 --s3-bucket 的值,则可忽略,此时备份文件将存储在本地唯一目录中。