问题标签 [kapacitor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
716 浏览

influxdb - 电容器 Lambda 均值

我正在尝试通过从 InfluxDB 1、2、3 和 4 周前查询相同的时间间隔来使用 Kapacitor 批处理|查询生成基线,然后将其向前移动并像这样连接在一起:

我正在使用完全外连接,因为有些星期可能会丢失一个值,在这种情况下,我会将基线计算为 3 个当前值的平均值。

但是,lambda 似乎不支持 Mean() 或任何此类数学函数。它似乎也不支持检查空值。

有没有办法像这样计算基线?

此外,一旦计算出基线,如何将其缓存起来,以便可以根据基线检查传入的流数据?

任何帮助表示赞赏!谢谢

0 投票
1 回答
271 浏览

kapacitor - 通过 HTTP 在 InfluxDB 上发送新插入的值

我试图弄清楚如何在我的 influxDB 上插入新值时发出通知,并将通知与新插入的测量样本的数据一起发送到 HTTP 端点。我不确定这是 Kapacitor 的目标(我是 TICK 堆栈的新手)还是最好使用其他工具(欢迎任何建议)。

提前致谢。

最好的问候,阿尔伯特。

0 投票
1 回答
668 浏览

alert - 如何将死人开关添加到现有警报?

假设我有以下警报。

如果 cpu 时间序列消失,我也想收到警报。我可以在|deadman(...)后面添加一个部分|alert()吗?

0 投票
1 回答
1296 浏览

join - Kapacitor:通过连接计算两个流之间的差异

全面披露:我还在这里发布了这个问题的一个变体。

我有一个嵌入式设备作为加热系统的一部分,它每 5 秒通过一个 mosquitto MQTT 代理发布两个温度值,每个温度值到一个单独的 MQTT 主题。“mydevice/sensor1”是预热温度,“mydevice/sensor2”是后加热温度。这些值几乎在同一时间发布,因此两条消息之间的延迟通常不会超过半秒 - 但它们并不完全同步。

Telegraf 订阅了同一个代理,并且很乐意将这些测量结果放入一个名为“telegraf.autogen”的 InfluxDB 数据库中。测量都出现在一个名为“mqtt_consumer”的测量下,其中包含一个名为“value”的字段。在 InfluxDB 中,我可以通过使用“主题”标签过滤来区分主题标签值:

这一切似乎都正常工作。

我想要做的是计算这两个主题值之间的差异,对于每对传入的值,以计算温差并最终计算加热系统传递的能量(流速是恒定的且已知的)。我尝试在 Grafana 中使用 InfluxDB 查询来做到这一点,但它似乎很困难(我失败了),所以我想我会尝试使用 TICKscript 将我的流程分解为小步骤。

我一直在整理一个 TICKscript 来计算基于此示例的差异:

https://docs.influxdata.com/kapacitor/v1.3/guides/join_backfill/#stream-method

但是在我的情况下,我没有两个单独的测量值。相反,我使用主题标签作为过滤器,从单个“mqtt_consumer”测量中创建两个单独的流。然后我尝试以 1s 的容差加入这些(值总是及时发布得足够近)。我httpOut用来生成调试视图(除此之外:这仅每 10 秒更新一次,缺少每秒的值,即使我的流以 5 秒的间隔运行 - 为什么?我可以在新数据库中看到这些值是虽然都在场)。

一旦我将它们加入,我将评估值的差异,并将其存储在一个名为“diff”的测量下的新数据库中。

到目前为止,这是我的脚本:

不幸的是,我的脚本无法通过join节点传递任何项目。在kapacitor show我可以看到httpOut节点都将项目传递给join节点,但它没有传递任何东西。kapacitor 日志也​​没有显示任何明显的内容。httpOut('join')用于返回的 HTTP GET :

我有两个问题:

  1. 这种使用带有 TICKscript 的 Kapacitor 来根据单个测量中两个值之间的差异计算能量的方法有效吗?还是有更好/更简单的方法来做到这一点?
  2. 为什么join节点不产生任何输出?我能做些什么来进一步调试呢?
0 投票
1 回答
1864 浏览

influxdb - 如何使用刻度脚本 (Kapacitor) 更改标签名称?

假设我的 Influx 数据库中有一个名为“cpu”的测量值:

我编写了刻度脚本来查询来自该测量的数据:

我希望此查询的结果包含而不是 'app' - 'app_name' ,而不是 'org' - 'app_group'。为了更改标签名称,我应该在刻度脚本中包含什么?笔记!作为一种解决方法,我可以在结果中插入名称为“app_name”和“app_group”的新列,但我不想在其中添加更多列并且有重复数据。

寻求一些建议。谢谢

0 投票
1 回答
166 浏览

influxdb - Kapacitor 如何在 TICK 架构中获取 Stream

根据我的信息,Kapacitor 可以处理流或批处理。在批处理的情况下,它从 Influxdb 获取数据并对其进行操作。

但是它如何与流一起工作。它订阅了 InfluxDB 还是 Telegraph。我希望它订阅 InfluxDB。因此,如果任何客户端向 InfluxDb 写入数据,Kapacitor 也会接收该数据。这种理解正确吗?还是直接订阅 Telegraph?

为什么这个问题对我们很重要,因为我们想使用 Azure IoT 中心代替 Telegraph。因此,我们将从 Azure IoT 中心读取数据并将其写入 InfluxDb。我们希望我们可以在这里使用 Kapacitor Stream。

提前致谢

0 投票
1 回答
177 浏览

kubernetes - 如何在 kubernetes 环境中运行 kapacitor 命令?

在 docker 容器中启动 kapacitor (influxdata) 时,kapacitor 守护进程将启动并在前台运行。

要运行 kapacitor 命令,需要exec进入 docker 容器并运行类似的命令kapacitor define backup_alert ....; kapacitor enable ...

现在我正在尝试在 kuberneter 环境中启动 kapacitor 容器,它运行良好。我面临的问题是如何运行附加命令,如kapacitor define.

我试图修改入口点/命令,但我遇到这样一个事实,即一旦启动 kapacitor 守护程序 ( kapacitord),它就不会接受任何 kapacitor 命令,因为守护程序正在前台运行。

我应该如何解决这个问题?

0 投票
2 回答
123 浏览

influxdb - 配置 kapacitor CLI 以与远程 Kapacitor 通信

如何配置 kapacitor CLI 与远程 kapacitor 通信。

0 投票
2 回答
1579 浏览

influxdb - Kapacitor .post() HTTP Post 到 url 不发送数据

我正在使用 kapacitor 使用 HTTP POST 向 URL 发送警报。书面脚本正在访问给定的 url,但它没有将相关数据发送到任何给定的 url。

以下是我的 TICK 脚本。

以下是第一个帖子脚本:

以下是第二个帖子脚本:

两个网址都获取空数据。Kapacitor 版本为:Kapacitor 1.3.1

以下是 Kapacitor [[httppost]] 配置

0 投票
0 回答
83 浏览

kapacitor - Kapacitor - 将系列转移到纪元开始

使用 Kapacitor Batch 脚本,我怎么能

  • 将时间序列的时间戳转移到从纪元开始
  • 添加标签和
  • 将结果存储在单独的 InfluxDB 中?

换句话说:我想运行“SELECT INTO”查询,将测量之间的 ELAPSED ns 用作时间戳(并添加标签)?

背景:我想提取在“实验”期间进行的测量,将它们“时间中和”存储在专用的实验数据库中,以便在单个 Grafana 图表中比较多个实验的测量。