Documentation

开始使用 InfluxDB Cloud Dedicated

InfluxDB是专门用于收集、存储和查询时间序列数据的平台。InfluxDB Cloud Dedicated由InfluxDB 3存储引擎提供支持,具备几乎无限的系列基数、改善的查询性能,以及与广泛使用的数据处理工具和平台的互操作性。

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

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

本多部分教程将指导您如何将时间序列数据写入 InfluxDB Cloud Dedicated,查询,然后可视化这些数据。

开始之前的关键概念

在开始使用InfluxDB之前,理解时间序列数据在InfluxDB中的组织和存储方式以及本文件中使用的一些关键定义是很重要的。

数据组织

InfluxDB Cloud Dedicated 数据模型将时间序列数据组织成数据库和表。

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

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

桶和测量是什么?

如果来自于 InfluxDB Cloud Serverless 或者由 TSM 存储引擎驱动的 InfluxDB,你可能对 bucketmeasurement 的概念很熟悉。在 TSM 或 InfluxDB Cloud Serverless 中,Bucket 等同于 InfluxDB Cloud Dedicated 中的 database。在 TSM 或 InfluxDB Cloud Serverless 中,Measurement 等同于 InfluxDB Cloud Dedicated 中的 table

写时模式

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

重要定义

使用InfluxDB时,以下定义非常重要:

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

名称: weather

时间城市国家温度湿度
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 Cloud Dedicated 进行交互的工具。本教程涵盖了许多推荐的工具。

工具管理写入查询
Chronograf--
influx CLI---
influxctl CLI*
influx3 数据 CLI*-
InfluxDB HTTP API*-
InfluxDB用户界面---
InfluxDB 3 客户端库*-
InfluxDB v2 客户端库--
InfluxDB v1 客户端库-
Telegraf*--
第三方工具
航班 SQL 客户端--
Grafana--
Superset--
Tableau--
* Covered in this tutorial

避免在 InfluxDB Cloud Dedicated 中使用 influx CLI。虽然它可能偶然有效,但不受支持。

influxctl 命令行工具

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

influx3 数据命令行接口

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

InfluxDB HTTP API

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

这个 /write/query v1 兼容的端点与用户名/密码认证方案以及现有的 InfluxDB 1.x 工具和代码一起工作。这个 /api/v2/write v2 兼容的端点与现有的 InfluxDB 2.x 工具和代码一起工作。

InfluxDB 客户端库

InfluxDB 客户端库是由社区维护的特定语言客户端,能够与 InfluxDB API 交互。

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

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

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

授权

InfluxDB Cloud Dedicated 需要使用以下token类型进行身份验证:

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

  • 管理令牌: Auth0 认证令牌influxctl CLI 生成,用于管理您的 InfluxDB 集群。 管理令牌授权用户执行与以下内容相关的任务:

    • Account management
    • Database management
    • Database token management
    • Pricing

默认情况下,管理令牌是

  • 短暂的
  • 针对特定用户发行
  • 由OAuth2身份提供者发布
  • influxctl 管理,无需用户管理

然而,为了自动化的目的,influxctl 用户可以 手动创建一个长期有效的管理令牌 以便与 云专用的管理API一起使用。 手动创建的管理令牌直接与您的 InfluxDB 集群进行身份验证,并且不需要与您的身份提供者进行人工交互。



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

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