问题标签 [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.
influxdb - 电容器 Lambda 均值
我正在尝试通过从 InfluxDB 1、2、3 和 4 周前查询相同的时间间隔来使用 Kapacitor 批处理|查询生成基线,然后将其向前移动并像这样连接在一起:
我正在使用完全外连接,因为有些星期可能会丢失一个值,在这种情况下,我会将基线计算为 3 个当前值的平均值。
但是,lambda 似乎不支持 Mean() 或任何此类数学函数。它似乎也不支持检查空值。
有没有办法像这样计算基线?
此外,一旦计算出基线,如何将其缓存起来,以便可以根据基线检查传入的流数据?
任何帮助表示赞赏!谢谢
kapacitor - 通过 HTTP 在 InfluxDB 上发送新插入的值
我试图弄清楚如何在我的 influxDB 上插入新值时发出通知,并将通知与新插入的测量样本的数据一起发送到 HTTP 端点。我不确定这是 Kapacitor 的目标(我是 TICK 堆栈的新手)还是最好使用其他工具(欢迎任何建议)。
提前致谢。
最好的问候,阿尔伯特。
alert - 如何将死人开关添加到现有警报?
假设我有以下警报。
如果 cpu 时间序列消失,我也想收到警报。我可以在|deadman(...)
后面添加一个部分|alert()
吗?
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 :
我有两个问题:
- 这种使用带有 TICKscript 的 Kapacitor 来根据单个测量中两个值之间的差异计算能量的方法有效吗?还是有更好/更简单的方法来做到这一点?
- 为什么
join
节点不产生任何输出?我能做些什么来进一步调试呢?
influxdb - 如何使用刻度脚本 (Kapacitor) 更改标签名称?
假设我的 Influx 数据库中有一个名为“cpu”的测量值:
我编写了刻度脚本来查询来自该测量的数据:
我希望此查询的结果包含而不是 'app' - 'app_name' ,而不是 'org' - 'app_group'。为了更改标签名称,我应该在刻度脚本中包含什么?笔记!作为一种解决方法,我可以在结果中插入名称为“app_name”和“app_group”的新列,但我不想在其中添加更多列并且有重复数据。
寻求一些建议。谢谢
influxdb - Kapacitor 如何在 TICK 架构中获取 Stream
根据我的信息,Kapacitor 可以处理流或批处理。在批处理的情况下,它从 Influxdb 获取数据并对其进行操作。
但是它如何与流一起工作。它订阅了 InfluxDB 还是 Telegraph。我希望它订阅 InfluxDB。因此,如果任何客户端向 InfluxDb 写入数据,Kapacitor 也会接收该数据。这种理解正确吗?还是直接订阅 Telegraph?
为什么这个问题对我们很重要,因为我们想使用 Azure IoT 中心代替 Telegraph。因此,我们将从 Azure IoT 中心读取数据并将其写入 InfluxDb。我们希望我们可以在这里使用 Kapacitor Stream。
提前致谢
kubernetes - 如何在 kubernetes 环境中运行 kapacitor 命令?
在 docker 容器中启动 kapacitor (influxdata) 时,kapacitor 守护进程将启动并在前台运行。
要运行 kapacitor 命令,需要exec
进入 docker 容器并运行类似的命令kapacitor define backup_alert ....; kapacitor enable ...
现在我正在尝试在 kuberneter 环境中启动 kapacitor 容器,它运行良好。我面临的问题是如何运行附加命令,如kapacitor define
.
我试图修改入口点/命令,但我遇到这样一个事实,即一旦启动 kapacitor 守护程序 ( kapacitord
),它就不会接受任何 kapacitor 命令,因为守护程序正在前台运行。
我应该如何解决这个问题?
influxdb - 配置 kapacitor CLI 以与远程 Kapacitor 通信
如何配置 kapacitor CLI 与远程 kapacitor 通信。
influxdb - Kapacitor .post() HTTP Post 到 url 不发送数据
我正在使用 kapacitor 使用 HTTP POST 向 URL 发送警报。书面脚本正在访问给定的 url,但它没有将相关数据发送到任何给定的 url。
以下是我的 TICK 脚本。
以下是第一个帖子脚本:
以下是第二个帖子脚本:
两个网址都获取空数据。Kapacitor 版本为:Kapacitor 1.3.1
以下是 Kapacitor [[httppost]] 配置
kapacitor - Kapacitor - 将系列转移到纪元开始
使用 Kapacitor Batch 脚本,我怎么能
- 将时间序列的时间戳转移到从纪元开始
- 添加标签和
- 将结果存储在单独的 InfluxDB 中?
换句话说:我想运行“SELECT INTO”查询,将测量之间的 ELAPSED ns 用作时间戳(并添加标签)?
背景:我想提取在“实验”期间进行的测量,将它们“时间中和”存储在专用的实验数据库中,以便在单个 Grafana 图表中比较多个实验的测量。