文档文档

使用 InfluxQL shell

使用 InfluxQL 交互式 shell 执行 InfluxDB InfluxQL 查询。

将数据库和保留策略映射到 Buckets

InfluxQL 查询需要数据库和保留策略来查询数据。在 InfluxDB 2.7 中,数据库和保留策略已合并并替换为 Buckets。要使用 InfluxQL 查询 InfluxDB 2.7 Bucket,请首先将你的 DBRP 组合映射到适当的 Bucket。

有关创建 DBRP 映射的信息,请参阅使用 InfluxQL 查询数据

下载并安装 influx CLI

InfluxQL REPL 包含在 influx CLI (2.4+) 中。下载并安装 influx CLI

启动 InfluxQL shell

使用 influx v1 shell 命令启动 InfluxQL shell 会话。

influx v1 shell

配置你的 InfluxDB 连接

influx v1 shell 命令需要以下信息才能连接到 InfluxDB

使用以下方法之一为 influx v1 shell 命令提供这些凭据

influx CLI 允许你配置和存储多组连接凭据,以用于命令。每组凭据都是一个 CLI 配置。使用 CLI 配置为 influx v1 shell 命令提供所需的凭据。

  1. 创建一个新的 CLI 配置并将其设置为活动

    influx config create --config-name <config-name> \
      --host-url http://localhost:8086 \
      --org example-org \
      --token mY5up3Rs3CrE7t0k3N \
      --active
    
  2. 启动 InfluxQL shell

    influx v1 shell
    

所有 influx 命令都使用活动 CLI 配置提供的凭据。有关管理 CLI 配置的更多信息,请参阅 influx config 文档

使用 influx v1 shell 命令标志提供所需的凭据

influx v1 shell \
  --host http://localhost:8086 \
  --org example-org \
  --token mY5up3Rs3CrE7t0k3N

使用环境变量提供所需的凭据。如果设置了环境变量,则 influx CLI 将自动使用以下环境变量作为所需的凭据

  • INFLUX_HOST
  • INFLUX_ORGINFLUX_ORG_ID
  • INFLUX_TOKEN
export INFLUX_HOST=http://localhost:8086
export INFLUX_ORG=example-org
export INFLUX_TOKEN=mY5up3Rs3CrE7t0k3N

influx v1 shell

执行 InfluxQL 查询

在 InfluxQL shell 中,执行 InfluxDB 2.7 支持的任何 InfluxQL 查询。有关支持哪些查询的信息,请参阅InfluxDB 2.7 中的 InfluxQL 支持

查看 InfluxQL 文档 (1.11),以获取有关查询语言的深入文档。

使用和配置显示格式

InfluxQL shell 使用不同的显示格式输出查询结果。使用 format 助手命令指定要使用的显示格式。

InfluxQL shell 默认使用 table 显示格式。如果使用其他显示格式,并且想要切换回 table 格式,请在 InfluxQL shell 中运行以下命令。

format table

表格格式的结果

表格格式以交互式表格格式输出结果。

InfluxQL shell table display format

结果是分页的。使用 shift + 上/下箭头 在页面之间导航。使用 q 退出交互式表格显示。

配置表格显示格式

使用科学计数法

要使用科学计数法显示值,请使用 scientific 助手命令切换科学计数法。

指定时间戳精度或格式

要指定结果中返回的时间戳的精度或格式,请使用 precision 助手命令

-- Return results formatted as RFC3339 timestamps
precision rfc3339

-- Return results with second-precision unix timestamps
precision s

要使用 column 格式,请在 InfluxQL shell 中运行以下命令。

format column

列格式的结果

column 格式以基于文本的列格式显示结果。

name: cpu
time            usage_user          usage_system
----            ----------          ------------
1.62767581e+09  5.476026754935672   2.5629805588360313
1.62767581e+09  0.4999999999972715  0.09999999999990905
1.62767581e+09  18.718718718689555  10.810810810692704
1.62767581e+09  6.500000000090222   3.2000000000343425
1.62767581e+09  4.1999999999336435  1.3999999999778812
1.62767581e+09  7.992007992122577   4.095904095946467
1.62767581e+09  0.3000000000054934  0.1000000000010732

配置列显示格式

指定时间戳精度

要指定结果中返回的时间戳的精度或格式,请使用 precision 助手命令

-- Return results formatted as RFC3339 timestamps
precision rfc3339

-- Return results with second-precision unix timestamps
precision s

要使用 csv 格式,请在 InfluxQL shell 中运行以下命令。

format csv

CSV 格式的结果

csv 格式以 CSV 格式显示结果。

name,time,usage_user,usage_system
cpu,1.62767582e+09,4.207038819798416,3.5194098893833914
cpu,1.62767582e+09,0.19980019980215585,0.19980019980215585
cpu,1.62767582e+09,14.914914914981258,14.114114114162232
cpu,1.62767582e+09,5.805805805828698,4.004004003985887
cpu,1.62767582e+09,2.5025025025339978,1.8018018018273916
cpu,1.62767582e+09,7.299999999874271,5.699999999930733
cpu,1.62767582e+09,0.09999999999647116,0.0999999999987449

配置 CSV 显示格式

指定时间戳精度

要指定结果中返回的时间戳的精度或格式,请使用 precision 助手命令

-- Return results formatted as RFC3339 timestamps
precision rfc3339

-- Return results with second-precision unix timestamps
precision s

要使用 json 格式,请在 InfluxQL shell 中运行以下命令。

format json

JSON 格式的结果

csv 格式以 JSON 格式显示结果。

{
    "results": [
        {
            "series": [
                {
                    "columns": [
                        "time",
                        "usage_user",
                        "usage_system"
                    ],
                    "name": "cpu",
                    "values": [
                        [
                            1627675850,
                            4.601935685334947,
                            4.139868872973054
                        ],
                        [
                            1627675850,
                            0.3992015968099201,
                            0.2994011976074401
                        ],
                        [
                            1627675850,
                            7.599999999947613,
                            7.299999999995634
                        ],
                        [
                            1627675850,
                            0.3992015968098205,
                            0.4990019960088718
                        ],
                        [
                            1627675850,
                            9.59040959050348,
                            8.49150849158481
                        ],
                        [
                            1627675850,
                            0.2997002996974768,
                            0.39960039959966437
                        ],
                        [
                            1627675850,
                            9.590409590464631,
                            8.691308691326773
                        ]
                    ]
                }
            ],
            "statement_id": 0
        }
    ]
}

配置 JSON 显示格式

美化打印 JSON 输出

默认情况下,json 显示格式返回未格式化的 JSON 字符串。要格式化 JSON,请使用 pretty 助手命令切换 JSON 美化打印。

指定时间戳精度

要指定结果中返回的时间戳的精度或格式,请使用 precision 助手命令

-- Return results formatted as RFC3339 timestamps
precision rfc3339

-- Return results with second-precision unix timestamps
precision s

InfluxQL shell 助手命令

InfluxQL shell 支持以下助手命令

clear

清除基于会话的设置,例如数据库。

exit

退出 InfluxQL shell。

format

指定数据显示格式。InfluxQL 支持以下显示格式

  • csv
  • json
  • column
  • table (默认)
-- Display query output using column display
format column

有关更多信息,请参阅使用和配置显示格式

gopher

打印 Go gopher。

help

打印 InfluxQL shell 帮助选项。

history

查看 InfluxQL shell 历史记录。

precision

指定时间戳的格式或精度。使用以下之一

  • rfc3339
  • h
  • m
  • s
  • ms
  • u
  • ns (默认)
-- Set timestamp precision to seconds
precision s

pretty

切换 json 显示格式的“美化打印”。

quit

退出 InfluxQL shell

scientific

切换 table 显示格式的科学计数法数字格式。

use

设置要用于查询的数据库和保留策略(可选)。

-- Use the exampledb database
use exampledb

-- Use the exampledb database and examplerp retention policy
use exampledb.examplerp

此页面是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像目前一样使用它,而无需对您的代码进行任何更改。

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速的最新数据引擎,可实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 Enterprise 以 Core 的基础为构建,增加了高可用性、读取副本、增强的安全性以及数据压缩,以实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层可供非商业家庭或业余爱好者使用。

有关更多信息,请查看