influxctl query
使用influxctl query
命令可以通过SQL或InfluxQL查询InfluxDB集群数据,并将结果以表格或JSON格式打印。
提供查询方式如下:
- 命令行上的字符串
- 包含查询的文件的路径
- 使用单个短横线(
-
)从stdin读取查询
注意事项
- 此命令每次执行只支持一个查询。
- 此命令并非是一个功能丰富的完整查询工具,它是用于调试、故障排除和基本数据探索的。
InfluxDB连接配置
您的InfluxDB集群主机和端口配置在您的influxctl
连接配置文件中。默认使用TLS和端口443。您可以在连接配置文件中设置默认数据库和令牌,用于query
和write
命令,或者使用命令中的--database
和--token
标志传递它们。命令行标志将覆盖连接配置文件中的设置。
输出格式
--format
标志允许您以其他格式打印输出。可用json
格式供其他工具进行程序性解析。默认:table
。
使用table
格式时,默认情况下,时间戳以RFC3339时间戳格式进行格式化。使用--time-format
标志可以指定以下可用时间格式之一
rfc3339nano
: (默认) RFC3339Nano格式的时间戳–例如:2024-01-01T00:00:00.000000000Z
unixnano
: Unix纳秒时间戳
用法
influxctl query [flags] <QUERY>
参数
参数 | 描述 |
---|---|
QUERY | 要执行的查询(命令行字符串、文件路径或- 从stdin读取) |
标志
标志 | 描述 | |
---|---|---|
--database | 要查询的数据库 | |
--enable-system-tables | 启用查询系统表的能力 | |
--format | 输出格式(《table》(默认)或《json》) | |
--language | 查询语言(《sql》(默认)或《influxql》) | |
--time-format | 表格输出的时间格式(《rfc3339nano》(默认)或《unixnano》) | |
--token | 具有查询数据库权限的数据库令牌 | |
-h | --help | 输出命令帮助 |
另请参阅 influxctl
全局标志。
示例
- 使用SQL查询InfluxDB v3
- 使用InfluxQL查询InfluxDB v3
- 以表格格式返回InfluxDB v3查询结果
- 以JSON格式返回InfluxDB v3查询结果
- 以Unix纳秒时间戳返回InfluxDB v3查询结果
- 使用连接配置文件中的凭据查询InfluxDB v3
- 从 InfluxDB v3 系统表中查询数据
以下示例中,替换以下内容
DATABASE_TOKEN
:具有读取查询数据库访问权限的数据库令牌DATABASE_NAME
:要查询的数据库名称
使用SQL查询InfluxDB v3
influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
/path/to/query.sql
cat ./query.sql | influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
-
使用InfluxQL查询InfluxDB v3
influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
--language influxql \
/path/to/query.influxql
cat ./query.influxql | influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
--language influxql \
-
以表格格式返回InfluxDB v3查询结果
influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
/path/to/query.sql
cat ./query.sql | influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
-
以JSON格式返回InfluxDB v3查询结果
influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
--format json \
/path/to/query.sql
cat ./query.sql | influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
--format json \
-
以Unix纳秒时间戳返回InfluxDB v3查询结果
influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
--time-format unixnano \
/path/to/query.sql
cat ./query.sql | influxctl query \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
--time-format unixnano \
-
使用连接配置文件中的凭据查询InfluxDB v3
以下示例使用在 default
中定义的 database
和 token
。
从 InfluxDB v3 系统表中查询数据
您必须使用 SQL 查询 InfluxDB v3 系统表。
查询系统表可能会影响您 InfluxDB 集群的总体性能。系统表不是 InfluxDB 的稳定 API 部分,并且可能发生变化。
influxctl query \
--enable-system-tables \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
/path/to/query.sql
cat ./query.sql | influxctl query \
--enable-system-tables \
--token DATABASE_TOKEN \
--database DATABASE_NAME \
-
这个页面有帮助吗?
感谢您的反馈!