[logstash-input-redis]插件使用详解

Redis插件参数配置详解

最小化配置
redis


input {
redis {
data_type => "list" #logstash redis插件工做方式
key => "logstash-test-list" #监听的键值
host => "127.0.0.1" #redis地址
port => 6379 #redis端口号
}
}
output {
stdout{}
}

详细配置
数据库


input {
redis {
batch_count => 1 #EVAL命令返回的事件数目
data_type => "list" #logstash redis插件工做方式
key => "logstash-test-list" #监听的键值
host => "127.0.0.1" #redis地址
port => 6379 #redis端口号
password => "123qwe" #若是有安全认证,此项为密码
db => 0 #redis数据库的编号
threads => 1 #启用线程数量
}
}
output {
stdout{}
}

threads参数测试

单个logstash启动后,若是配置多个threads,那么最后打印出的信息与队列中的信息顺序是不同的。
安全

下面给出了2w数据量,logstash在不一样线程下的读取速度:
服务器

关于其余的参数

db

Redis里面有数据库的概念,通常是16个,默认登陆后是0,能够经过命令选择。若是应用系统选择使用了不一样的数据库,那么能够经过配置这个参数从指定的数据库中读取信息。测试

key

Redis中的数据都是经过键值来索引的,无论是字符串仍是列表,因此这个key至关于数据库中的表。
若是是list或者channel模式,key都是指定的键值;而若是是pattern_channel,那么key能够经过glob通配的方式来指定。插件

password

有的Redis为了安全,是须要进行验证的。只有设置了password,才能正确的读取信息。相反,若是redis没有设置密码,而logstash中配置了密码,也会报错!线程

batch_count

这个属性设置了服务器端返回的事件数目,好比设置了5条,那么每次请求最多会直接获取5条日志返回。日志

data_type logstash工做的类型

logstash中的redis插件,指定了三种方式来读取redis队列中的信息。code

  • list=>BLPOP
  • channel=>SUBSCRIBE
  • pattern_channel=>PSUBSCRIBE

其中list,至关于队列;channel至关于发布订阅的某个特定的频道;pattern_channel至关于发布订阅某组频道。索引

【list】运行结果

【channel】运行结果

【pattern_channel】运行结果

能够看到channel与pattern_channel区别就在于一个是监听特定的键值,一个是监听某一组键值。

相关文章
相关标签/搜索