Documentation

influxctl 写入

influxctl write 命令将 行协议 写入 InfluxDB 集群。

以以下方式提供行协议:

  • 命令行上的字符串
  • 一个指向包含行协议的文件的路径
  • 一个单一的破折号 (-) 从标准输入读取行协议

重要说明

  • 此命令每次执行仅支持一个写请求,但支持多行行协议,并将根据 --batch-size 批处理数据。
  • 此命令并不旨在成为一个完整的、功能丰富的写入工具。 它旨在用于调试、筛选和初步探索。

InfluxDB连接配置

您的 InfluxDB 集群主机和端口已在您的 influxctl 连接配置文件中配置。默认使用 TLS 和 443 端口。您可以在连接配置文件中设置用于 querywrite 命令的默认数据库和令牌,或者使用 --database--token 标志通过命令传递它们。命令行标志将覆盖连接配置文件中的设置。

用法

influxctl write [flags] <LINE_PROTOCOL>

参数

参数描述
LINE_PROTOCOL写入的行协议(命令行字符串、文件路径或-以从标准输入读取)

标志

标志描述
--batch-size每批次要写入的指标数量(默认值为 10000
--database要写入的数据库
--precision数据时间戳的精度 (ns (默认), us, ms, 或 s)
--timeout客户端超时(默认为 10 秒)
--token具有对目标数据库写权限的数据库令牌
-h--help输出命令帮助

示例

在下面的示例中,替换以下内容:

  • DATABASE_TOKEN: 具有写入权限的目标数据库的数据库令牌
  • DATABASE_NAME: 要写入的数据库名称

将行协议写入InfluxDB 3

influxctl write \
  --token 
DATABASE_TOKEN
\
--database
DATABASE_NAME
\
"home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000000000000 home,room=Kitchen temp=21.0,hum=35.9,co=0i 1641024000000000000 home,room=Living\ Room temp=21.4,hum=35.9,co=0i 1641027600000000000 home,room=Kitchen temp=23.0,hum=36.2,co=0i 1641027600000000000 "
influxctl write \
  --token 
DATABASE_TOKEN
\
--database
DATABASE_NAME
\
/path/to/metrics.lp
cat ./metrics.lp | influxctl write \
  --token 
DATABASE_TOKEN
\
--database
DATABASE_NAME
\
-

使用非默认时间戳精度将行协议写入 InfluxDB 3

influxctl write \
  --token 
DATABASE_TOKEN
\
--database
DATABASE_NAME
\
--precision s \ "home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000 home,room=Kitchen temp=21.0,hum=35.9,co=0i 1641024000 home,room=Living\ Room temp=21.4,hum=35.9,co=0i 1641027600 home,room=Kitchen temp=23.0,hum=36.2,co=0i 1641027600 "
influxctl write \
  --token 
DATABASE_TOKEN
\
--database
DATABASE_NAME
\
--precision s \ /path/to/metrics.lp
cat ./metrics.lp | influxctl write \
  --token 
DATABASE_TOKEN
\
--database
DATABASE_NAME
\
--precision s \ -

以自定义批大小将线协议写入InfluxDB 3

influxctl write \
  --token 
DATABASE_TOKEN
\
--database
DATABASE_NAME
\
--batch-size 5000 \ "home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000 home,room=Kitchen temp=21.0,hum=35.9,co=0i 1641024000 home,room=Living\ Room temp=21.4,hum=35.9,co=0i 1641027600 home,room=Kitchen temp=23.0,hum=36.2,co=0i 1641027600 "
influxctl write \
  --token 
DATABASE_TOKEN
\
--database
DATABASE_NAME
\
--batch-size 5000 \ /path/to/metrics.lp
cat ./metrics.lp | influxctl write \
  --token 
DATABASE_TOKEN
\
--database
DATABASE_NAME
\
--batch-size 5000 \ -

使用自定义客户端超时将行协议写入InfluxDB 3

influxctl write \
  --token 
DATABASE_TOKEN
\
--database
DATABASE_NAME
\
--timeout 20 \ "home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000 home,room=Kitchen temp=21.0,hum=35.9,co=0i 1641024000 home,room=Living\ Room temp=21.4,hum=35.9,co=0i 1641027600 home,room=Kitchen temp=23.0,hum=36.2,co=0i 1641027600 "
influxctl write \
  --token 
DATABASE_TOKEN
\
--database
DATABASE_NAME
\
--timeout 20 \ /path/to/metrics.lp
cat ./metrics.lp | influxctl write \
  --token 
DATABASE_TOKEN
\
--database
DATABASE_NAME
\
--timeout 20 \ -

使用连接配置文件中的凭据将行协议写入InfluxDB 3

以下示例使用了在 default 连接配置文件 中定义的 databasetoken

influxctl write "home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000000000000
home,room=Kitchen temp=21.0,hum=35.9,co=0i 1641024000000000000
home,room=Living\ Room temp=21.4,hum=35.9,co=0i 1641027600000000000
home,room=Kitchen temp=23.0,hum=36.2,co=0i 1641027600000000000
"

查看命令更新



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 企业版是建立在核心基础之上的商业版本,增加了历史查询能力、读取副本、高可用性、可扩展性和细粒度安全性。

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