美文网首页
Logstash-Redis配置

Logstash-Redis配置

作者: perfect_jimmy | 来源:发表于2017-02-22 14:45 被阅读967次

LogStash::Inputs::Redis 支持三种 data_type(实际上是redis_type),不同的数据类型会导致实际采用不同的 Redis 命令操作:
list => BLPOP
channel => SUBSCRIBE
pattern_channel => PSUBSCRIBE
其中list,相当于队列;channel相当于发布订阅的某个特定的频道;pattern_channel相当于发布订阅某组频道。


Redis发布订阅中使用到的命令就只有三个:PUBLISH,SUBSCRIBE,PSUBSCRIBE
PUBLISH 用于发布消息
SUBSCRIBE 也叫频道订阅,用于订阅某一特定的频道
PSUBSCRIBE 也叫模式订阅,用于订阅某一组频道,使用glob的方式,比如xxx-*可以匹配xxx-a,xxx-b,xxx-ddd等等


pattern_channel模式之redis_pattern_channel.conf 配置文件:

redis_pattern_channel.conf 配置文件:
input {
    redis {
        data_type => "pattern_channel"   #logstash redis插件工作方式
        key => "redis_pattern_channel-*" #监听的键值
        host => "localhost"           #redis地址
        port => 6379                     #redis端口号
        threads => 5                     #启用线程数量
    }
}
output {
  stdout { codec => rubydebug }
}

打开2个控制台同时执行:
/usr/share/logstash/bin/logstash -f /usr/share/logstash/config/conf.d/redis_pattern_channel.conf
然后在redis客户端输入:PUBLISH redis_pattern_channel-jimmy "hello jimmy"
(JSON格式测试数据:PUBLISH redis_pattern_channel-json '{"message":"hello world","@version":"1","@timestamp":"2014-08-08T16:34:21.865Z","host":"raochenlindeMacBook-Air.local","key1":"value1"}')
每个控制台都会显示如下

Paste_Image.png

list模式之redis_list.conf 配置文件:

input {
    redis {
        data_type => "list"
        key => "logstash-list"
        host => "localhost"
        port => 6379
        batch_count => 1
        threads => 5
    }
}
output {
  stdout { codec => rubydebug }
}

打开2个控制台同时执行:
/usr/share/logstash/bin/logstash -f /usr/share/logstash/config/conf.d/redis_list.conf
然后在redis客户端输入:RPUSH logstash-list "hello world"
只有一个控制台会显示如下

Paste_Image.png

参考:http://www.cnblogs.com/xing901022/p/4864690.html

相关文章

网友评论

      本文标题:Logstash-Redis配置

      本文链接:https://www.haomeiwen.com/subject/fropwttx.html