Documentation

使用 InfluxDB API 查询

InfluxDB v2 API 提供了一个程序接口,用于与 InfluxDB 进行所有交互。要查询 InfluxDB Cloud,请执行以下操作:

在您的请求中,设置以下内容:

  • 通过 orgorgID URL 参数访问您的组织。
  • Authorization头设置为Token + 你的API令牌。
  • Accept头设置为application/csv
  • Content-type 头部设置为 application/vnd.flux (仅限 Flux) 或 application/json (Flux 或 InfluxQL)。
  • 使用请求的原始数据在Flux或InfluxQL中查询。

使用gzip压缩查询响应

要压缩查询响应,请将 Accept-Encoding 头设置为 gzip。这节省了网络带宽,但增加了服务器端负担。

我们建议仅在响应大于1.4 KB时使用gzip压缩。如果响应小于1.4 KB,gzip编码总是会返回1.4 KB的响应,尽管未压缩的响应大小。1500字节(约1.4 KB)是公共网络的最大传输单元(MTU)大小,也是网络层允许的最大数据包大小。

Flux - 示例查询请求

下面是一个发送 Flux 查询到 InfluxDB Cloud 的示例 curl 请求:

curl --request POST \
  http://localhost:8086/api/v2/query?orgID=INFLUX_ORG_ID  \
  --header 'Authorization: Token INFLUX_TOKEN' \
  --header 'Accept: application/csv' \
  --header 'Content-type: application/vnd.flux' \
  --data 'from(bucket:"example-bucket")
        |> range(start: -12h)
        |> filter(fn: (r) => r._measurement == "example-measurement")
        |> aggregateWindow(every: 1h, fn: mean)'
curl --request POST \
  http://localhost:8086/api/v2/query?orgID=INFLUX_ORG_ID \
  --header 'Authorization: Token INFLUX_TOKEN' \
  --header 'Accept: application/csv' \
  --header 'Content-type: application/vnd.flux' \
  --header 'Accept-Encoding: gzip' \
  --data 'from(bucket:"example-bucket")
        |> range(start: -12h)
        |> filter(fn: (r) => r._measurement == "example-measurement")
        |> aggregateWindow(every: 1h, fn: mean)'

InfluxQL - 示例查询请求

以下是一个示例 curl 请求,它向 InfluxDB Cloud 发送一个 InfluxQL 查询:

curl --request -G http://localhost:8086/query?orgID=INFLUX_ORG_ID&database=MyDB&retention_policy=MyRP \
  --header 'Authorization: Token INFLUX_TOKEN' \
  --header 'Accept: application/csv' \
  --header 'Content-type: application/json' \
  --data-urlencode "q=SELECT used_percent FROM example-db.example-rp.example-measurement WHERE host=host1"
curl --request -G http://localhost:8086/query?orgID=INFLUX_ORG_ID&database=MyDB&retention_policy=MyRP \
  --header 'Authorization: Token INFLUX_TOKEN' \
  --header 'Accept: application/csv' \
  --header 'Content-type: application/json' \
  --header 'Accept-Encoding: gzip' \
  --data-urlencode "q=SELECT used_percent FROM example-db.example-rp.example-measurement WHERE host=host1"

InfluxDB 返回查询结果为 带注释的 CSV



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

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

由TSM驱动的InfluxDB Cloud