文档文档

开始使用InfluxDB Clustered

InfluxDB是一个专门为收集、存储和查询时间序列数据而构建的平台。InfluxDB Clustered由InfluxDB 3.0存储引擎提供支持,该引擎提供几乎无限的序列基数,提高了查询性能,并与广泛使用的数据处理工具和平台兼容。

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

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

本教程分几个部分,将指导您将时间序列数据写入InfluxDB集群,查询,然后可视化这些数据。

开始之前的关键概念

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

数据组织

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

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

  • 数据库:存储时间序列数据的位置,以表的形式组织。在InfluxDB云无服务器和InfluxDB TSM中,数据库与桶(bucket)同义。
    • :时间序列数据的一个逻辑分组。给定表中的所有应具有相同的标签。表包含标签字段。在InfluxDB云无服务器和InfluxDB TSM中,表与测量(measurement)同义。
      • 标签:为每个点提供元数据的键值对——例如,用于标识数据的来源或上下文的信息,如主机、位置、站点等。标签值可以为空。
      • 字段:具有随时间变化的值的键值对——例如,温度、压力、股价等。字段值可以为空,但在任何给定的行上至少有一个字段值不为空。
      • 时间戳:与数据关联的时间戳。在磁盘上存储和查询时,所有数据按时间排序。时间戳从不为空。

桶和测量是什么意思?

如果您来自InfluxDB云无服务器或由TSM存储引擎驱动的InfluxDB,您可能熟悉桶(bucket)和测量(measurement)的概念。在TSM或InfluxDB云无服务器中,桶与InfluxDB集群中的数据库(database)同义。在TSM或InfluxDB云无服务器中,测量与InfluxDB集群中的表(table)同义。

写入时模式

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

重要定义

以下定义是在使用InfluxDB时需要理解的重要概念:

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

name: weather

timecitycountrytemperaturehumidity
2022-01-01T12:00:00ZLondonUK12.088.4
2022-01-01T12:00:00ZCologneDE13.288.5
2022-02-01T12:00:00ZLondonUK12.194.0
2022-02-01T12:00:00ZCologneDE11.587.8
2022-03-01T12:00:00ZLondonUK11.582.1
2022-03-01T12:00:00ZCologneDE10.276.4
2022-04-01T12:00:00ZLondonUK5.987.6
2022-04-01T12:00:00ZCologneDE7.993.3

可用的工具

以下表格比较了您可以用于与InfluxDB集群交互的工具。本教程涵盖了其中许多推荐的工具。

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

避免使用influx CLI与InfluxDB集群一起使用。虽然它可能偶然工作,但不受支持。

influxctl管理CLI

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

influx3数据CLI

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

InfluxDB HTTP API

《InfluxDB HTTP API》提供了简单的方式来让您管理InfluxDB集群,并使用HTTP(S)客户端读写和查询数据。本教程中的示例使用cURL,但任何HTTP(S)客户端都适用。

与v1兼容的/write/query端点使用用户名/密码认证方案,并与现有的InfluxDB 1.x工具和代码配合工作。与v2兼容的/api/v2/write端点与现有的InfluxDB 2.x工具和代码配合工作。

InfluxDB客户端库

InfluxDB客户端库是由社区维护的、针对特定语言的客户端,它们与InfluxDB API交互。

InfluxDB v3客户端库是推荐用于读写InfluxDB集群数据的客户端库。它们使用HTTP API来写入数据,并使用InfluxDB的Flight gRPC API来查询数据。

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

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

授权

InfluxDB集群需要使用以下其中一种令牌类型进行认证

  • 数据库令牌:一种允许对InfluxDB数据库进行读写访问的令牌。

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

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

这个页面有帮助吗?

感谢您的反馈!


Flux的未来

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

阅读更多

InfluxDB v3增强功能及InfluxDB集群现已上市

新功能包括更快的查询性能和管理工具,推进了InfluxDB v3产品线。InfluxDB集群现已上市。

InfluxDB v3性能和功能

InfluxDB v3产品线在查询性能方面取得了显著的提升,并提供了新的管理工具。这些增强包括一个操作仪表板,用于监控您的InfluxDB集群的健康状况,InfluxDB云专用版中的单点登录(SSO)支持,以及用于令牌和数据库的新管理API。

了解v3的新增强功能


InfluxDB集群版正式发布

InfluxDB集群版现已正式发布,并为您在自管理的堆栈中提供了InfluxDB v3的强大功能。

与我们谈谈InfluxDB集群版