gpt4 book ai didi

elasticsearch - 计算Logstash中不同事件之间的差异或增量

转载 作者:行者123 更新时间:2023-12-02 23:27:36 26 4
gpt4 key购买 nike

假设我有一个类似以下的日志文件:

# time, count
2016-09-07 23:00:00, 1108731
2016-09-07 23:00:02, 1108733
2016-09-07 23:00:03, 1108734

现在,每一行都包含过去发生的所有事件的总和。我想在 kibana中使用它,自然的方法是将 count作为一个deltafied数字。

所以我期望有一个效果:
# time, count, deltaCount
2016-09-07 23:00:00, 1108731, 0
2016-09-07 23:00:02, 1108733, 2
2016-09-07 23:00:03, 1108734, 1

如何在 logstash中实现这一点。我知道我可以事先编辑此文件。
谢谢!

最佳答案

解决方案1:编写您的插件
一种方法是创建一个插件。 here也解决了同样的问题。但是,此处发布的过滤器不是公开可用的,更糟糕​​的是,实际上它是5行代码。
解决方案2:Ruby代码段
我在elastic论坛Keeping global variables in LS?!上的该线程中找到了一种解决方案。标题说明了一切。
简而言之,解决方案如下:

filter {
...
ruby {
init => "@@previous_count = -1"
code => "
if (@@previous_count == -1)
delta = 0
else
delta = event.get('count') - @@previous_count
end
event.set('requests', delta)

# remember event for next time
@@previous_count = event.get('count')
"
}
}

毕竟并不难。

关于elasticsearch - 计算Logstash中不同事件之间的差异或增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41063153/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com