Documentation

在 InfluxDB Cloud 中使用 Kapacitor

Kapacitor 是一个数据处理框架,可以轻松创建警报、运行 ETL 作业和检测异常。Kapacitor 使用 InfluxDB CloudInfluxDB OSS CloudInfluxDB 1.x 兼容 API 进行交互,因此您可以继续使用 Kapacitor,而无需将 TICKscripts 的库迁移到 InfluxDB 任务。

对流任务的支持

InfluxDB Cloud 和 InfluxDB OSS Cloud 没有订阅 API,并且不支持 Kapacitor 流任务,但是您可以通过直接将数据写入 Kapacitor 来继续使用流任务。有关更多信息,请参见 下方

在此页面上

配置Kapacitor以连接到InfluxDB

要将Kapacitor连接到InfluxDB Cloud或InfluxDB OSS Cloud,请更新您的 [[influxdb]] 部分的Kapacitor配置文件:

指定您的 InfluxDB URL

[[influxdb]].urls 配置选项中提供您的 InfluxDB URL。有关更多信息,请参见 InfluxDB Cloud regionsInfluxDB OSS URLs

[[influxdb]]
  # ...
  urls = ["http://localhost:8086"]

提供 InfluxDB 认证凭据

InfluxDB Cloud 和 InfluxDB OSS Cloud 需要认证。 在您的 [[influxdb]].username[[influxdb]].password 配置选项中提供以下凭据:

  • 用户名: InfluxDB 用户名
  • 密码: InfluxDB API token
[[influxdb]]
  # ...
  username = "influxdb-username"
  password = "influxdb-token"

Kapacitor 受限于 InfluxDB 令牌权限限制。 要查询或写入 InfluxDB 存储桶,InfluxDB 令牌必须对目标存储桶具有读取和/或 写入权限。 有关令牌权限的信息,请参阅 创建令牌

禁用 InfluxDB 订阅

InfluxDB Cloud 和 InfluxDB OSS Cloud 没有订阅 API。
[[influxdb]].disable-subscriptions 设置为 true 以禁用 InfluxDB 订阅。

[[influxdb]]
  # ...
  disable-subscriptions = true

使用Kapacitor批处理任务

Kapacitor 批处理任务使用 1.x 兼容 API 的 query 端点,并且在与 InfluxDB Cloud 和 InfluxDB OSS 一起使用时无需更改。有关在 Kapacitor 任务中写回 InfluxDB 的信息,请参见以下 写回 InfluxDB

使用Kapacitor流任务

InfluxDB Cloud 和 OSS Cloud 没有订阅 API,并且不直接支持 Kapacitor 流任务。要使用 Kapacitor 流任务,请使用 Kapacitor write API 直接向 Kapacitor 写入数据。我们建议使用 Telegraf InfluxDB 输出插件 将数据写入 InfluxDB Cloud 或 OSS 和 Kapacitor。

使用Telegraf InfluxDB输出插件写入数据

要使用 InfluxDB 输出插件将数据写入 InfluxDB 和 Kapacitor,请完成以下步骤:

  1. 安装 Telegraf.
  2. 创建一个DBRP映射
  3. Telegraf InfluxDB输出插件配置文件中,指定以下选项,将databaseretention_policyusernamepassword替换为与您的DBRP映射相匹配,并将skip_database_creation设置为true
# Write to Kapacitor
[[outputs.influxdb]]
  urls = ["http://localhost:9092"]
  database = "example-db"
  retention_policy = "example-rp"

# Write to InfluxDB Cloud or OSS
[[outputs.influxdb]]
  urls = ["http://localhost:8086"]
  database = "example-db"
  retention_policy = "example-rp"
  username = "influxdb-username"
  password = "influxdb-token"
  skip_database_creation = true

写入InfluxDB

如果使用Kapacitor InfluxDBOut 节点将数据写入InfluxDB Cloud,InfluxDB会将指定的数据库和保留策略映射到相应的桶。您还可以手动将数据库/保留策略组合(DBRPs)映射到桶。有关更多信息,请参见 DBRP mapping Create DBRP mappings.

以下示例 TICKscript 写入 InfluxDB Cloud 或 InfluxDB OSS Cloud 中的 my-db/my-rp 存储桶。

batch
  |query('SELECT errors / total AS error_percent from requests')
  // Write the transformed data to InfluxDB
  |influxDBOut()
    .database('my-db')
    .retentionPolicy('my-rp')
    .measurement('errors')
    .tag('kapacitor', 'true')
    .tag('version', '0.2')


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