首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为redis定义logstash配置文件

如何为redis定义logstash配置文件
EN

Stack Overflow用户
提问于 2020-01-17 19:39:52
回答 1查看 121关注 0票数 1

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

代码语言:javascript
复制
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来实现同样的效果,在研究之后,我发现:

代码语言:javascript
复制
redis {
host => "127.0.0.1"
port => "6379"
type => "redis-input"
data_type => "list"
key => "0"
message_format => "json_event"
}

我正在使用predis将数据插入到redis中

代码语言:javascript
复制
$redisRes = $client->hmget(insert_id, array('firstname', 'lastname', 'email'));

其中,insert_id对于每个插入都是唯一的。现在,我的问题是:

在我的例子中,file.

  • data_type是唯一的,我如何在配置中定义它?可以是字符串,“
  1. ”,“insert_id”,"pattern_channel“之一,但我使用的是散列。
  2. 我如何给出条件(就像在jdbc中,我们有语句和sql_last_value,我们在redis输入中有这样的内容吗?)

我只想让redis输入像jdbc input那样工作。

EN

回答 1

Stack Overflow用户

发布于 2020-01-19 23:08:57

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

不能使用Redis,因为你事先不知道要查询的关键字。如果您仍然需要数据的唯一键,请在推送Redis时将其添加到您的数据中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59786649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档