文档文档

开始使用 InfluxDB Clustered

InfluxDB 是一个专门用于收集、存储和查询时间序列数据的平台。InfluxDB Clustered 由 InfluxDB 3 存储引擎驱动,该引擎提供近乎无限的序列基数、改进的查询性能以及与广泛使用的数据处理工具和平台的互操作性。

时间序列数据是按时间顺序索引的数据点序列。数据点通常由来自同一来源的连续测量组成,用于跟踪随时间的变化。时间序列数据的示例包括

  • 工业传感器数据
  • 服务器性能指标
  • 每分钟心跳数
  • 大脑中的电活动
  • 降雨量测量
  • 股票价格

这个多部分教程将引导您完成将时间序列数据写入 InfluxDB 集群、查询以及可视化该数据的过程。

开始之前的关键概念

在开始使用 InfluxDB 之前,重要的是了解时间序列数据如何在 InfluxDB 中组织和存储,以及本文档中使用的某些关键定义。

数据组织

InfluxDB Clustered 数据模型将时间序列数据组织到数据库和表中。

一个数据库可以包含多个表。表包含多个标签和字段。

  • 数据库:一个命名的位置,用于在中存储时间序列数据。数据库与 InfluxDB Cloud Serverless 和 InfluxDB TSM 中的存储桶同义。
    • :时间序列数据的逻辑分组。给定表中的所有应具有相同的标签。一个表包含标签字段与 InfluxDB Cloud Serverless 和 InfluxDB TSM 中的测量同义。
      • 标签:键值对,为每个点提供元数据——例如,用于标识数据来源或上下文的内容,如主机、位置、站点等。标签值可能为空。
      • 字段:键值对,其值随时间变化——例如,温度、压力、股票价格等。字段值可能为空,但在任何给定行上,至少有一个字段值不为空。
      • 时间戳:与数据关联的时间戳。当存储在磁盘上并查询时,所有数据都按时间排序。时间戳永远不能为空。

存储桶和测量呢?

如果您来自 InfluxDB Cloud Serverless 或由 TSM 存储引擎驱动的 InfluxDB,您可能熟悉存储桶测量的概念。TSM 或 InfluxDB Cloud Serverless 中的存储桶与 InfluxDB Clustered 中的数据库同义。TSM 或 InfluxDB Cloud Serverless 中的测量与 InfluxDB Clustered 中的同义。

写入时模式

当您将数据写入 InfluxDB 时,数据定义了表模式。您无需创建表或显式定义表模式。

重要定义

以下定义对于理解 InfluxDB 的使用非常重要

  • :由其测量、标签键、标签值、字段键和时间戳标识的单个数据记录。
  • 序列:具有相同测量、标签键和值以及字段键的点组。
  • 主键:用于唯一标识表中每一行的列。行由其时间戳和标签集唯一标识。行的主键标签集不包括具有空值的标签。
InfluxDB 查询结果示例

名称:天气

时间城市国家温度湿度
2022-01-01T12:00:00Z伦敦英国12.088.4
2022-01-01T12:00:00Z科隆德国13.288.5
2022-02-01T12:00:00Z伦敦英国12.194.0
2022-02-01T12:00:00Z科隆德国11.587.8
2022-03-01T12:00:00Z伦敦英国11.582.1
2022-03-01T12:00:00Z科隆德国10.276.4
2022-04-01T12:00:00Z伦敦英国5.987.6
2022-04-01T12:00:00Z科隆德国7.993.3

要使用的工具

下表比较了可用于与 InfluxDB Clustered 交互的工具。本教程涵盖了许多推荐工具。

工具管理写入查询
Chronograf--
influx CLI---
influxctl CLI*
influx3 data CLI*-
InfluxDB HTTP API*-
InfluxDB 用户界面---
InfluxDB 3 客户端库*-
InfluxDB v2 客户端库--
InfluxDB v1 客户端库-
Telegraf*--
第三方工具
Flight SQL 客户端--
Grafana--
Superset--
Tableau--
* 本教程中涵盖

避免将 influx CLI 与 InfluxDB Clustered 一起使用。虽然它可能会巧合地工作,但它不受支持。

influxctl 管理 CLI

influxctl 命令行界面 (CLI) 写入、查询和执行管理任务,例如管理集群中的数据库和授权令牌。

influx3 数据 CLI

influx3 数据 CLI 是一个社区维护的工具,可让您从命令行在 InfluxDB Clustered 中写入和查询数据。它使用 HTTP API 写入数据,并使用 Flight gRPC 查询数据。

InfluxDB HTTP API

InfluxDB HTTP API 提供了一种简单的方式,让您可以使用 HTTP(S) 客户端管理 InfluxDB Clustered 并写入和查询数据。本教程中的示例使用 cURL,但任何 HTTP(S) 客户端都适用。

/write/query v1 兼容端点适用于用户名/密码身份验证方案以及现有的 InfluxDB 1.x 工具和代码。/api/v2/write v2 兼容端点适用于现有的 InfluxDB 2.x 工具和代码。

InfluxDB 客户端库

InfluxDB 客户端库是社区维护的、特定于语言的客户端,可与 InfluxDB API 交互。

InfluxDB 3 客户端库 是推荐的客户端库,用于在 InfluxDB Clustered 中写入和查询数据。它们使用 HTTP API 写入数据,并使用 InfluxDB 的 Flight gRPC API 查询数据。

InfluxDB v2 客户端库 可以使用 /api/v2 HTTP 端点来管理资源(例如存储桶和 API 令牌),并在 InfluxDB Clustered 中写入数据。

InfluxDB v1 客户端库 可以将数据写入 InfluxDB Clustered。

授权

InfluxDB Clustered 需要使用以下 令牌 类型之一进行身份验证

  • 数据库令牌:一种令牌,授予对 InfluxDB 数据库的读写访问权限。

  • 管理令牌:一个短期的(1 小时)Auth0 令牌,用于管理您的 InfluxDB 集群。这些令牌由 influxctl CLI 生成,不需要任何直接管理。管理令牌授权用户执行与以下相关的任务

    • 帐户管理
    • 数据库管理
    • 数据库令牌管理
    • 定价

此页面是否对您有帮助?

感谢您的反馈!


Flux 的未来

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

阅读更多

InfluxDB 3 开源现在处于公开 Alpha 阶段

InfluxDB 3 开源现在可用于 Alpha 测试,根据 MIT 或 Apache 2 许可获得许可。

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

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

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