gpt4 book ai didi

ruby - 如何在logstash过滤器中使用redis?

转载 作者:行者123 更新时间:2023-12-02 19:24:42 25 4
gpt4 key购买 nike

我正在将 ELK+Redis 从非常旧的版本升级到最新版本。

ES 1.6 to 7.4
LS 1.4 to 7.4
Redis 2.8 to 5.0

我在一台新机器上重新安装了所有东西。一切都很顺利,除了一件事:logstash-filter-redis 插件

这是我的logstashconf文件

input
{
redis {
host
port => 6380
data_type
key
}
}
filter {
grok {
match => [ "message", "" ]
}
redis {
host => ""
port => 6379
key => ""
}
output {
elasticsearch {
host => ""
index => ""
}

这里,输入 { } 内的第一个 redis:6380 用于获取日志(用作logstash 输入源)

同时在过滤器 { } 内调用第二个 redis:6379 以获取与这些日志关联的数据。

我在https://www.elastic.co/guide/en/logstash/current/filter-plugins.html看不到任何logstash-filter-redis插件

有人可以帮我吗?

谢谢

最佳答案

Logstash 中确实不支持 Redis 过滤器。您可以找到两个社区过滤器by synlaymeulop但我不确定它们的支持和维护情况如何。

我最近刚刚了解到另一种丰富 Redis 数据的方法,即通过 ruby 过滤器访问 Redis,如下所示:

filter {
...
ruby {
init => 'require "redis"; $rc = Redis.new(path: "/var/run/redis/redis.sock", db: 0)'
code => 'event.set("enriched_field", $rc.get(event.get("key_field")))'
}
}

关于ruby - 如何在logstash过滤器中使用redis?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58379149/

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