我在Logstash上工作,并使用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对于每个插入都是唯一的。现在,我的问题是:
在我的例子中,file.
我只想让redis输入像jdbc input那样工作。
发布于 2020-01-19 23:08:57
Redis输入的工作方式与SQL不同:您可以通过弹出可用项或订阅通道来使事件从列表中出列。
不能使用Redis,因为你事先不知道要查询的关键字。如果您仍然需要数据的唯一键,请在推送Redis时将其添加到您的数据中。
https://stackoverflow.com/questions/59786649
复制相似问题