文档文档

influxctl write

influxctl write 命令将 Line Protocol 写入 InfluxDB Clustered。

通过以下方式之一提供 Line Protocol

  • 命令行上的字符串
  • 包含 Line Protocol 的文件路径
  • 单个破折号 (-) 从 stdin 读取 Line Protocol

重要提示

  • 此命令每次执行仅支持一个写入请求,但支持多行 Line Protocol,并将根据 --batch-size 批量处理数据。
  • 此命令并非旨在成为功能齐全的写入工具。它旨在用于调试、问题分类和初始探索。

InfluxDB 连接配置

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

用法

influxctl write [flags] <LINE_PROTOCOL>

参数

参数描述
LINE_PROTOCOL要写入的 Line Protocol(命令行字符串、文件路径或 - 从 stdin 读取)

标志

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

另请参阅 influxctl 全局标志

示例

在以下示例中,替换以下内容

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

将 Line Protocol 写入 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
\
-

将 Line Protocol 写入 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 \ -

将 Line Protocol 写入 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 \ -

将 Line Protocol 写入 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 \ -

使用连接配置文件中的凭据将 Line Protocol 写入 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 开源版本现已可用于 Alpha 测试,根据 MIT 或 Apache 2 许可获得许可。

我们正在发布两个作为 Alpha 版本一部分的产品。

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

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