gpt4 book ai didi

elasticsearch - 如何为redis定义logstash配置文件

转载 作者:行者123 更新时间:2023-12-02 23:11:30 24 4
gpt4 key购买 nike

我正在研究 Logstash 并使用 Redis 作为输入。我是 Redis 的新手。
之前,我在 MySQL 上使用 JDBC 实现了配置文件。
以下是代码:

jdbc {jdbc_connection_string => "jdbc:mysql://localhost:3306/sample"
jdbc_user => "root"
jdbc_password => ""
jdbc_driver_library => "/usr/share/logstash/logstash-core/lib/jars/mysql-connector-java-5.1.48.jar"
jdbc_driver_class => " com.mysql.jdbc.Driver"
clean_run => true
use_column_value => true
tracking_column => "time"
tracking_column_type =>"timestamp"
statement => "SELECT time, firstname, lastname, email FROM sample.sample where time > :sql_last_value;"
schedule => " * * * * * *"
}

我想用redis实现同样的功能,经过研究,我发现了这个:
redis {
host => "127.0.0.1"
port => "6379"
type => "redis-input"
data_type => "list"
key => "0"
message_format => "json_event"
}

我正在使用 predis 将数据插入到 redis 中
$redisRes = $client->hmget(insert_id, array('firstname', 'lastname', 'email'));

其中 insert_id 对于每次插入都是唯一的。
现在,我的问题是:
1. 由于 insert_id 在我的情况下是唯一的,我如何在配置文件中定义它。
2. data_type 可以是字符串,是 ["list", "channel", "pattern_channel"] 之一,但我使用的是哈希。
3.我怎样才能给出条件(比如在jdbc中,我们有statement和sql_last_value,我们在redis输入中是否有这样的)
我只希望 redis 输入像 jdbc 输入一样工作

最佳答案

Redis 输入的工作方式与 SQL 不同:您可以通过弹出可用项目或订阅 channel 来从列表中取出事件。

无法使用 Redis,因为您不会提前知道要查询的键。如果您仍然需要数据的唯一键,请在插入 Redis 时将它们添加到您的数据中。

关于elasticsearch - 如何为redis定义logstash配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59786649/

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