文档文档

KapacitorLoopbackNode

kapacitorLoopback 节点将数据写回 Kapacitor 流。要将数据写入远程 Kapacitor 实例,请使用 InfluxDBOutNode

示例

|kapacitorLoopback()
  .database('mydb')
  .retentionPolicy('myrp')
  .measurement('errors')
  .tag('kapacitor', 'true')
  .tag('version', '0.2')

注意无限循环

使用 KapacitorLoopback 节点可能会创建无限循环。请注意确保您没有将任务链接在一起创建循环。

避免与多个订阅发生名称冲突

使用 KapacitorLoopback 节点时,请勿在多个 InfluxDB 实例或集群中订阅名称相同的数据库和保留策略。如果 Kapacitor 订阅了多个 InfluxDB 实例,请使每个数据库和保留策略组合都是唯一的。例如

influxdb_1
  └─ db1/rp1

influxdb_2
  └─ db2/rp2

可用统计信息

  • points_written: 写入 Kapacitor 的点数

构造函数

链式方法描述
kapacitorLoopback ( )创建一个 kapacitor loopback 节点,该节点会将数据作为流发送回 Kapacitor。

属性方法

设置器描述
database ( value string)数据库的名称。
measurement ( value string)指标的名称。
quiet ( )禁止来自此节点的所有错误日志记录事件。
retentionPolicy ( value string)保留策略的名称。
tag ( key stringvalue string)向所有数据点添加静态标签。标签可以多次调用。

链式方法

Deadman, Stats


属性

属性方法修改调用节点上的状态。它们不会向管道添加另一个节点,并且始终返回对调用节点的引用。属性方法使用 . 运算符标记。

数据库

数据库的名称。

kapacitorLoopback.database(value string)

指标

指标的名称。

kapacitorLoopback.measurement(value string)

静默

禁止来自此节点的所有错误日志记录事件。

kapacitorLoopback.quiet()

保留策略

保留策略的名称。

kapacitorLoopback.retentionPolicy(value string)

标签

向所有数据点添加静态标签。标签可以多次调用。

kapacitorLoopback.tag(key string, value string)

链式方法

链式方法在管道中创建一个新节点,作为调用节点的子节点。它们不会修改调用节点。链式方法使用 | 运算符标记。

Deadman

用于在低吞吐量(又名死人开关)上创建警报的辅助函数。

  • 阈值:如果吞吐量在 points/interval 中降至阈值以下,则触发警报。
  • 间隔:检查吞吐量的频率。
  • 表达式:也要评估的可选表达式列表。对于一天中的时间警报很有用。

示例

    var data = stream
        |from()...
    // Trigger critical alert if the throughput drops below 100 points per 10s and checked every 10s.
    data
        |deadman(100.0, 10s)
    //Do normal processing of data
    data...

以上等效于此示例

    var data = stream
        |from()...
    // Trigger critical alert if the throughput drops below 100 points per 10s and checked every 10s.
    data
        |stats(10s)
            .align()
        |derivative('emitted')
            .unit(10s)
            .nonNegative()
        |alert()
            .id('node \'stream0\' in task \'{{ .TaskName }}\'')
            .message('{{ .ID }} is {{ if eq .Level "OK" }}alive{{ else }}dead{{ end }}: {{ index .Fields "emitted" | printf "%0.3f" }} points/10s.')
            .crit(lambda: "emitted" <= 100.0)
    //Do normal processing of data
    data...

idmessage 警报属性可以通过“deadman”配置部分全局配置。

由于 AlertNode 是最后一部分,因此可以像往常一样进一步修改它。示例

    var data = stream
        |from()...
    // Trigger critical alert if the throughput drops below 100 points per 10s and checked every 10s.
    data
        |deadman(100.0, 10s)
            .slack()
            .channel('#dead_tasks')
    //Do normal processing of data
    data...

您可以指定其他 lambda 表达式以进一步约束死人开关的触发时间。示例

    var data = stream
        |from()...
    // Trigger critical alert if the throughput drops below 100 points per 10s and checked every 10s.
    // Only trigger the alert if the time of day is between 8am-5pm.
    data
        |deadman(100.0, 10s, lambda: hour("time") >= 8 AND hour("time") <= 17)
    //Do normal processing of data
    data...
kapacitorLoopback|deadman(threshold float64, interval time.Duration, expr ...ast.LambdaNode)

返回:AlertNode

统计信息

创建一个新的数据流,其中包含节点的内部统计信息。间隔表示基于实时发出统计信息的频率。这意味着间隔时间独立于源节点正在接收的数据点的时间。

kapacitorLoopback|stats(interval time.Duration)

返回:StatsNode


此页面是否对您有帮助?

感谢您的反馈!


Flux 的未来

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

阅读更多

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

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

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

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

有关如何入门的更多信息,请查看