文档文档

常见问题

账户管理
InfluxDB 服务健康状况
安全性
管理
数据类型
写入数据
查询数据
删除数据
InfluxDB 任务
序列和序列基数

账户管理

如何重置我的密码?

使用 influx CLIinflux user password 命令 命令来更新用户的密码。 有关更多信息,请参阅 更改您的密码


InfluxDB 服务健康状况

在哪里可以查看我的 InfluxDB 实例的当前状态?

InfluxDB 2.7 提供了不同的方法来监控其状态

  • /health API 端点 返回一个 JSON 响应体,其中包含您的 InfluxDB 实例当前状态的摘要。

查看健康状况摘要示例


安全性

存在哪些不同类型的 API 令牌?

InfluxDB 2.7 支持以下令牌类型

  • 操作员令牌

  • 完全访问令牌

  • 读/写令牌

有关每种令牌类型的更多信息,请参阅 管理 API 令牌

我可以在禁用身份验证的情况下使用 InfluxDB 吗?

InfluxDB 2.7 通过要求 API 请求进行身份验证来强制执行安全最佳实践。 身份验证无法禁用。


管理

如何识别我的 InfluxDB 版本?

使用以下方法之一来识别您正在使用的 InfluxDB OSS 版本

  • 使用 InfluxDB UI:

    • 在用户登录页面上
    • 在主登录页面的右侧列中
  • 使用 influxd version 命令

    $ influxd version
    
    InfluxDB 2.7.11 (git: x0x000xx0x) build_date: YYYY-MM-DDThh:mm:ssZ
    
  • 使用 /health API 端点.

    以下示例使用 jq 来处理从 /health API 端点返回的 JSON 响应体,并提取 InfluxDB 版本。 您不必使用 jq 处理 JSON。 有关 /health 端点返回的 JSON 示例,请参阅 查看健康状况摘要示例

    $ curl -s http://localhost:8086/health | jq -r '.version'
    
    2.7.11
    

如何识别我在 InfluxDB 中使用的 Flux 版本?

有关与官方 InfluxDB 版本打包在一起的 Flux 版本的信息,请参阅 InfluxDB 中的 Flux 版本

如果使用自定义构建,请使用以下查询来返回当前使用的 Flux 版本

import "array"
import "runtime"

array.from(rows: [{version: runtime.version()}])

有关更多信息,请参阅 查询 Flux 版本

在哪里可以找到 InfluxDB 日志?

所有 InfluxDB 日志都由 influxd 服务输出。 要将日志存储到文件中,请将 influxd 的输出管道传输到文件。 例如

influxd 2>~/path/to/influxd-errors.log

分片组持续时间和保留期之间有什么关系?

InfluxDB Bucket 将数据存储在分片组中。 单个分片组覆盖特定的时间间隔。 InfluxDB 通过使用 Bucket 的保留期来确定该时间间隔。 下表概述了 Bucket 保留期与分片组时间间隔之间的默认关系

Bucket 保留期默认分片组持续时间
少于 2 天1 小时
介于 2 天和 6 个月之间1 天
大于 6 个月7 天

有关更多信息,请参阅 InfluxDB 分片和分片组

为什么在我更新 Bucket 的保留期后数据没有被删除?

以下是 Bucket 的保留期更新后数据可能不会立即删除的原因

  • 保留期强制服务每 30 分钟运行一次(默认情况下)。 您可能需要等待下一个保留期强制周期运行。

InfluxDB 删除分片组,而不是单个数据点。 分片组覆盖在创建时分配给分片组的特定时间间隔。 只有当分片组覆盖的整个时间范围超出 Bucket 保留期时,保留期服务才会删除分片组。

如果 Bucket 的新保留期小于旧分片组持续时间,并且 InfluxDB 当前正在将数据写入旧的、更长的分片组,则保留期服务将不会删除旧分片组,直到其分配的时间间隔完全过期。

有关更多信息,请参阅 数据保留

<!- –>


数据类型

InfluxDB 可以存储的最小和最大整数是多少?

InfluxDB 将所有整数存储为有符号 64 位整数。

最小整数-9223372036854775808
最大整数9223372036854775807

接近但在此限制范围内的值可能会导致意外行为。 某些查询操作将 64 位整数转换为 64 位浮点值,这可能会导致溢出问题。

InfluxDB 可以存储的最小和最大时间戳是多少?

InfluxDB 使用 64 位整数来表示 Unix 纳秒时间戳。

最小时间戳-92233720368547758061677-09-21T00:12:43.145224194Z
最大时间戳92233720368547758062262-04-11T23:47:16.854775806Z

超出该范围的时间戳将返回解析错误。

我可以更改字段的数据类型吗?

Flux 类型转换函数 允许您在查询时更改字段的数据类型。 但是,您无法更改磁盘上字段的类型。 以下是一些可能的解决方法

  • 将字段复制为新字段,并更改类型。 以下示例执行以下操作

    • 查询 example-string-field
    • 将字段值转换为布尔值。
    • 将字段名称更改为 example-boolean-field
    • 将新字段写入源 Bucket。
    from(bucket: "example-bucket")
        |> range(start: -30d)
        |> filter(fn: (r) => r._measurement == "exampled-measurement")
        |> filter(fn: (r) => r._field == "example-string-field")
        |> toBool()
        |> set(key: "_field", value: "example-boolean-field")
        |> to(bucket: "example-bucket")
    
  • 将字段复制为新 Bucket,并更改类型。 以下示例执行以下操作

    • example-bucket-1 Bucket 查询 example-int-field
    • 将字段值转换为浮点值。
    • 将字段名称更改为 example-float-field
    • 将新字段写入 example-bucket-2 Bucket。
    from(bucket: "example-bucket-1")
        |> range(start: -30d)
        |> filter(fn: (r) => r._measurement == "exampled-measurement")
        |> filter(fn: (r) => r._field == "example-int-field")
        |> toFloat()
        |> set(key: "_field", value: "example-float-field")
        |> to(bucket: "example-bucket-2")
    

InfluxDB 如何处理跨分片的字段类型差异?

字段值可以是浮点数、整数、字符串或布尔值。 字段值类型在 分片 内不能不同,但它们可以跨分片 不同

如果所有值都具有相同的类型,则 SELECT 语句 返回所有字段值 如果。 如果字段值类型跨分片不同,则 InfluxDB 首先执行任何适用的 类型转换 操作,然后返回所有值,类型按以下列表中的顺序优先:浮点数、整数、字符串、布尔值。

如果您的数据具有字段值类型差异,请使用语法 <field_key>::<type> 查询不同的数据类型。

示例

measurement just_my_type 具有一个名为 my_field 的字段。 my_field 在四个不同的分片中具有四个字段值,并且每个值具有不同的数据类型(浮点数、整数、字符串和布尔值)。

SELECT * 仅返回浮点数和整数字段值。 请注意,InfluxDB 在响应中将整数值转换为浮点数。

SELECT * FROM just_my_type

name: just_my_type
------------------
time		                	my_field
2016-06-03T15:45:00Z	  9.87034
2016-06-03T16:45:00Z	  7

SELECT <field_key>::<type> [...] 返回所有值类型。 InfluxDB 在其自己的列中输出每种值类型,并带有递增的列名。 在可能的情况下,InfluxDB 将字段值转换为另一种类型; 它将整数 7 转换为第一列中的浮点数,并将浮点数 9.879034 转换为第二列中的整数。 InfluxDB 无法将浮点数或整数转换为字符串或布尔值。

SELECT "my_field"::float,"my_field"::integer,"my_field"::string,"my_field"::boolean FROM just_my_type

name: just_my_type
------------------
time			               my_field	 my_field_1	 my_field_2		 my_field_3
2016-06-03T15:45:00Z	 9.87034	  9
2016-06-03T16:45:00Z	 7	        7
2016-06-03T17:45:00Z			                     a string
2016-06-03T18:45:00Z					                                true

SHOW FIELD KEYS 返回与字段键关联的每个数据类型,跨越每个分片。

示例

measurement just_my_type 具有一个名为 my_field 的字段。 my_field 在四个不同的分片中具有四个字段值,并且每个值具有不同的数据类型(浮点数、整数、字符串和布尔值)。 SHOW FIELD KEYS 返回所有四种数据类型

> SHOW FIELD KEYS

name: just_my_type
fieldKey   fieldType
--------   ---------
my_field   float
my_field   string
my_field   integer
my_field   boolean

写入数据

如何写入整数和无符号整数字段值?

在线协议中,使用尾随 i 标识 整数,使用尾随 u 标识 无符号整数。 如果没有这些,数字字段值将被解析为浮点数。

# Integer
value=100i

# Unsigned integer
value=100u

# Float
value=100

InfluxDB 如何处理重复数据点?

InfluxDB 通过其 measurement标签集时间戳 唯一标识一个数据点。 如果您提交一个新数据点,其 measurement、标签集和时间戳与现有数据点相同,则 InfluxDB 将旧字段与新字段集合并,并且任何冲突都将采用新字段集。

有关更多信息,请参阅 处理重复数据点

InfluxDB 写入 API 需要什么换行符?

InfluxDB Line Protocol 依赖于换行符(\n,即 ASCII 0x0A)来指示一行的结束和新一行的开始。 使用 \n 以外的换行符的文件或数据将导致类似于 bad timestampunable to parse 的错误。

Windows 换行符

Windows 使用回车符和换行符 (\r\n) 作为换行符,如果您在 Windows 机器上手动编写 Line Protocol,这将导致错误。 在将 Line Protocol 提交到 InfluxDB 写入 API 之前,请删除任何回车符 (\r)。

何时应该使用单引号,何时应该使用双引号写入数据?

Line Protocol 引号使用指南在 Line Protocol 文档 中提供。

时间戳的精度重要吗?

是的。 时间戳精度会影响摄取性能。 时间戳越精确,写入数据点所需的时间就越长。 为了最大限度地提高性能,在将数据写入 InfluxDB 时,请使用尽可能粗略的时间戳精度。 但是,如果精度太粗略,您可能会冒着写入来自同一序列的具有相同时间戳的数据点的风险,这将视为 重复数据点

写入稀疏历史数据的配置建议和模式指南是什么?

对于稀疏历史数据,我们建议

  • 在您要写入历史数据的 Bucket 上使用更长的 分片组持续时间 历史分片组持续时间可以并且应该覆盖数年。 如果您的历史数据跨越多年,但您的 Bucket 的分片组持续时间为 1 周,则 InfluxDB 将创建许多分片,从而对整体性能产生负面影响。

  • 在摄取历史数据时,暂时降低 storage-cache-snapshot-write-cold-duration 配置设置。 默认设置 (10m) 可能会导致系统缓存每个分片的所有数据。 在您写入历史数据时,暂时将 storage-cache-snapshot-write-cold-duration 设置降低到 10s 可以使该过程更有效率。


查询数据

Flux

如何将字段结构化为列(如 InfluxQL)?

InfluxQL 中的 SELECT 语句为每个查询的标签和字段返回一个列。Flux from() 函数为每个标签返回一个列,以及一个包含字段键的 _field 列。每个字段被分组到不同的表中。

要将每个字段构建为列,请使用 pivot()schema.fieldsAsCols()

exampleData
    |> pivot(rowKey: ["_time"], columnKey: ["_field"], valueColumn: "_value")
import "influxdata/influxdb/schema"

exampleData
    |> schema.fieldsAsCols()
from() 返回的数据示例
_measurementsensor_idlocation_field_time_value
machineabc123station20temp2022-01-01T00:00:00Z150.1
machineabc123station20temp2022-01-01T00:00:10Z152.8
machineabc123station20temp2022-01-01T00:00:20Z153.3
_measurementsensor_idlocation_field_time_value
machineabc123station20flow2022-01-01T00:00:00Z12.2
machineabc123station20flow2022-01-01T00:00:10Z14.9
machineabc123station20flow2022-01-01T00:00:20Z16.1
透视数据示例
_measurementsensor_idlocation_timetempflow
machineabc123station202022-01-01T00:00:00Z150.112.2
machineabc123station202022-01-01T00:00:10Z152.814.9
machineabc123station202022-01-01T00:00:20Z153.316.1

如何从多个字段值派生状态?

比较多个字段值并导出状态

  1. 查询导出状态所需的所有字段。

  2. 使用 pivot()schema.fieldsAsCols() 将字段透视为列。

  3. 使用 map() 迭代每个输入行,并根据字段列中的值分配新的列值。

    map()fn 参数定义了一个函数,该函数为每个输入行输出一条记录。使用条件逻辑来分配状态。

from(bucket: "example-bucket")
    |> range(start: -1h)
    |> filter(fn: (r) => r._measurement == "example-measurement")
    |> filter(fn: (r) => r._field == "field1" or r._field == "field2")
    |> pivot(rowKey: ["_time"], columnKey: ["_field"], valueColumn: "_value")
    |> map(
        fn: (r) =>
            ({r with state:
                    if r.field1 > 90 and r.field2 < 10 then
                        "critical"
                    else if r.field1 > 70 and r.field2 < 30 then
                        "warning"
                    else if r.field1 > 40 and r.field2 < 60 then
                        "info"
                    else
                        "ok",
            }),
    )

InfluxQL

如何在 InfluxDB v2.x 中使用 InfluxQL?

通过 1.x 兼容性 API,可以在 InfluxDB 2.7 中使用 InfluxQL,该 API 复制了 InfluxDB 1.x 中的 /query 端点。这允许所有与 InfluxDB 1.x 兼容的客户端与 InfluxDB 2.7 一起使用。但是,InfluxQL 依赖于数据库和保留策略数据模型,该模型在 InfluxDB 2.7 中不存在,而是被 buckets(存储桶) 所取代。

InfluxDB 2.7 允许您使用 DBRP 映射将 InfluxQL 中使用的唯一数据库和保留策略组合映射到特定的存储桶。

有关在 InfluxDB 2.7 中使用 InfluxQL 和配置 DBRP 映射的详细说明,请参阅 使用 InfluxQL 查询

如何在 InfluxQL 函数中执行数学运算?

InfluxQL 不支持在函数中进行数学运算。使用子查询来执行数学计算。

例如,InfluxQL 不支持以下语法

SELECT MEAN("dogs" - "cats") from "pet_daycare"

相反,使用子查询获得相同的结果

SELECT MEAN("difference") FROM (SELECT "dogs" - "cat" AS "difference" FROM "pet_daycare")

为什么我的查询返回 epoch 0 作为时间戳?

在 InfluxQL 中,纪元 0 (1970-01-01T00:00:00Z) 通常用作 null 时间戳的等效值。如果您请求一个没有时间戳返回的查询,例如具有无界时间范围的聚合函数,则 InfluxDB 返回纪元 0 作为时间戳。

哪些 InfluxQL 函数支持嵌套?

以下 InfluxQL 函数支持嵌套

有关如何使用子查询代替嵌套函数的信息,请参阅 InfluxQL 数据探索

什么决定了 GROUP BY time() 查询返回的时间间隔?

GROUP BY time() 查询返回的时间间隔符合 InfluxDB 数据库的预设时间窗口或用户指定的 偏移间隔

预设时间窗口

例如,以下查询计算下午 6:15 到下午 7:45 之间 sunflowers 的平均值,并将这些平均值分组为一小时间隔

SELECT mean("sunflowers")
FROM "flower_orders"
WHERE time >= '2016-08-29T18:15:00Z' AND time <= '2016-08-29T19:45:00Z' GROUP BY time(1h)

InfluxQL 使用 GROUP BY time() 子句中指定的持续时间来按时间对数据进行分区。预设时间窗口边界落在指定的持续时间单位上。

例如

GROUP BY time() duration结果窗口边界
1s00:00:00 - 00:00:01, 00:00:01 - 00:00:02, 等等。
1m00:00:00 - 00:01:00, 00:01:00 - 00:02:00, 等等。
5m00:00:00 - 00:05:00, 00:05:00 - 00:10:00, 等等。
1 小时1h

虽然窗口边界可能落在查询时间范围之外,但每个窗口的计算中仅使用查询时间范围内的点。

偏移时间窗口

再举一个例子,以下查询计算下午 6:15 到下午 7:45 之间 sunflowers 的平均值,并将这些平均值分组为一小时间隔。它将 InfluxDB 数据库的预设时间窗口偏移 15 分钟。

SELECT mean("sunflowers")
FROM "flower_orders"
WHERE time >= '2016-08-29T18:15:00Z' AND time <= '2016-08-29T19:45:00Z' GROUP BY time(1h,15m)
                                                                                         ---
                                                                                          |
                                                                                   offset interval

InfluxQL 使用 GROUP BY time() 子句中指定的持续时间和偏移量来按时间对数据进行分区。时间边界从指定的偏移量开始。

例如

GROUP BY time() duration and offset结果窗口边界
1m,30s00:30:00 - 01:30:00, 01:30:00 - 02:30:00, 等等。
5m,15s00:00:15 - 00:05:15, 00:05:15 - 00:10:15, 等等。
1h,20m00:20:00 - 01:20:00, 01:20:00 - 02:20:00, 等等。

为什么我的查询返回无数据或部分数据?

查询未返回数据或仅返回部分数据最常见的几个原因

查询错误的保留策略

InfluxDB 自动查询数据库默认保留策略中的数据(配置为 DBRP 映射 的一部分)。如果您的数据与另一个保留策略关联,则必须指定正确的保留策略才能获得结果。

SELECT 子句中没有字段键

InfluxQL 查询的 SELECT 子句中至少需要一个字段键。如果 SELECT 子句仅包含标签键,则查询返回空响应。有关更多信息,请参阅 InfluxQL 数据探索

SELECT 查询包含 GROUP BY time()

如果您的 SELECT 查询包含 GROUP BY time() 子句,则仅返回 1677-09-21 00:12:43.145224194now() 之间的数据点。如果您的任何数据点发生在 now() 之后,请在您的时间间隔中指定 备用上限

标签键和字段键同名

避免为标签键和字段键使用相同的名称。如果您不小心为标签键和字段键添加了相同的名称,然后一起查询它们,则查询结果会显示第二个查询的键(标签或字段)附加了 _1。要查询附加了 _1 的标签键或字段键,您必须删除附加的 _1 并包含 ::tag::field 语法。例如

-- Query duplicate keys using the correct syntax
SELECT "leaves"::tag, "leaves"::field FROM db.rp."grape"

name: grape
time                leaves     leaves_1
----                --------   ----------
1574128162128468000 species    6.00
1574128238044155000            5.00

为什么我的 GROUP BY time() 查询不返回 now() 之后的时间戳?

WHERE 子句中未定义时间范围的 SELECT 语句的默认时间范围为 1677-09-21 00:12:43.1452241942262-04-11T23:47:16.854775806Z UTC。对于未指定时间范围但具有 GROUP BY time() 子句SELECT 语句,默认时间范围为 1677-09-21 00:12:43.145224194 UTC 到 now()

要查询时间戳发生在 now() 之后的数据,带有 GROUP BY time() 子句的 SELECT 语句必须在 WHERE 子句 中提供备用的上限。例如

SELECT MEAN("boards") FROM "hillvalley"
WHERE time >= '2022-01-01T00:00:00Z' AND time <= now() + 10d
GROUP BY time(12m) fill(none)

请注意,WHERE 子句必须提供备用的上限才能覆盖默认的 now() 上限。以下查询仅将下限重置为 now(),使得查询的时间范围在 now()now() 之间

SELECT MEAN("boards") FROM "hillvalley"
WHERE time >= now()
GROUP BY time(12m) fill(none)

有关查询中时间语法的更多信息,请参阅 InfluxQL 数据探索

我可以对时间戳执行数学运算吗?

InfluxQL 不支持对时间戳值使用数学运算符。大多数时间计算必须由接收查询结果的客户端执行。

对时间戳值使用 InfluxQL 函数的支持有限。ELAPSED() 函数返回单个字段中后续时间戳之间的差值。

我可以从返回的时间戳中识别写入精度吗?

InfluxDB 将所有时间戳存储为纳秒值,而与提供的写入精度无关。InfluxQL 会静默地删除时间戳中的尾随零,这会掩盖初始写入精度。由于 InfluxDB 会静默地删除返回的时间戳中的尾随零,因此在返回的时间戳中无法识别写入精度。

何时应该在查询中使用单引号而不是双引号?

在 InfluxQL 查询中,请遵循以下关于引号的通用规则

单引号
  • 用于引用文字字符串值,如标签值。
  • 不要在标识符(如数据库名称、保留策略名称、用户名、测量名称、标签键和字段键)上使用。
  • 在日期时间字符串上使用。
双引号
  • 用于以数字开头、包含 [A-z,0-9,_] 以外的字符或作为 InfluxQL 关键字 的标识符。我们通常建议在所有标识符上使用双引号,即使它们不满足这些条件。
  • 不要在日期时间字符串上使用。
-- Correctly quote usage

SELECT bikes_available FROM bikes WHERE station_id='9'

SELECT "bikes_available" FROM "bikes" WHERE "station_id"='9'

SELECT MIN("avgrq-sz") AS "min_avgrq-sz" FROM telegraf

SELECT * from "cr@zy" where "p^e"='2'

SELECT "water_level" FROM "h2o_feet" WHERE time > '2015-08-18T23:00:01.232000000Z' AND time < '2015-09-19'

-- Incorrect quote usage

SELECT 'bikes_available' FROM 'bikes' WHERE 'station_id'="9"

SELECT * from cr@zy where p^e='2'

SELECT "water_level" FROM "h2o_feet" WHERE time > "2015-08-18T23:00:01.232000000Z" AND time < "2015-09-19"

为什么我的带有 WHERE OR 时间子句的查询返回空结果?

InfluxQL 不支持在 WHERE 子句中使用 OR 来指定多个时间范围,如果指定了多个时间范围,则返回空响应。例如,以下查询将返回空响应

SELECT * FROM "absolutismus"
WHERE time = '2016-07-31T20:07:00Z' OR time = '2016-07-31T23:07:17Z'

为什么 fill(previous) 返回空结果?

如果查询时间范围内没有先前的值,则 fill(previous) 不会填充空值。

如何查询具有相同标签键和字段键的数据?

使用 :: 语法来指定键是字段键还是标签键。例如

SELECT * FROM "candied" WHERE "almonds"::field > 51
SELECT * FROM "candied" WHERE "almonds"::tag='true'

如何跨 measurements 查询数据?

InfluxQL 不支持查询多个 measurement。所有数据必须在单个 measurement 下才能一起查询。要执行跨 measurement 的查询,请使用 Flux

查询中时间戳的顺序重要吗?

不,并非如此。以下查询之间只有微不足道的差异

SELECT ... FROM ... WHERE time > 'timestamp1' AND time < 'timestamp2'
SELECT ... FROM ... WHERE time < 'timestamp2' AND time > 'timestamp1'

如何按具有空值的标签查询数据?

WHERE 子句中,使用 '' 指定空或 null 标签值。例如

SELECT * FROM "vases" WHERE priceless=''

删除数据

我可以删除字段吗?

否。InfluxDB 2.7 不支持按字段删除数据。

我可以删除 measurement 吗?

是。InfluxDB 2.7 支持按 measurement 删除数据。在您的 删除谓词 中使用 _measurement 标签来标识要删除的 measurement。

_measurement == "example-measurement"

我可以同时删除多个 measurements 吗?

否。InfluxDB 2.7 不支持在单个删除请求中删除多个 measurement。要删除多个 measurement,请为每个 measurement 发出删除请求

我是否需要验证数据是否已删除?

提交到队列后,无需验证删除操作。当删除请求已添加到队列时,/api/v2/delete 端点返回 204 响应。

如果您希望验证是否已发生删除,请尝试查询已删除的数据。如果查询返回结果,则数据尚未完全删除。


InfluxDB 任务

重试任务如何影响相对时间范围?

当您重试使用相对时间范围的任务时,它将查询任务执行(运行)的原始时间范围。每当任务执行时,InfluxDB 会将任务中的 now 选项设置为任务的计划执行时间。当使用 range() 或其他支持相对持续时间值的函数时,这些持续时间值相对于 now(),后者返回 now 选项的值。每个任务运行都有一个唯一的 now 选项,该选项基于计划运行执行的时间。


序列和序列基数

什么是序列基数?

Series cardinality(序列基数)是唯一的

measurementtag set 组合(序列)存储在磁盘上并在内存中索引的总数。

为什么序列基数很重要?

InfluxDB 维护每个 series(序列) 的内存索引。随着唯一序列数量的增长,内存使用量也会增加。高序列基数可能会强制主机操作系统使用内存不足 (OOM) 异常终止 InfluxDB 进程。

在 Flux 中使用 influxdb.cardinality() 或在 InfluxQL 中使用 SHOW SERIES CARDINALITY 来测量存储桶中的序列基数。请参阅 解决高序列基数,以获取有关降低序列基数的信息。

如何从索引中删除序列?

要从索引中删除序列

  1. 使用 influx CLIInfluxDB 2.7 API 删除与序列关联的点。有关更多信息,请参阅 删除数据
  2. 使用 influxd inspect build-tsi 工具重建您的索引。

此页是否对您有帮助?

感谢您的反馈!


Flux 的未来

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

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

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

有关更多信息,请查看