Redis 服务器是 logstash 官方推荐的 broker 选择。Broker 角色也就意味着会同时存在输入和输出俩个插件。这里我们先学习输入插件。
LogStash::Inputs::Redis 支持三种 data_type(实际上是redis_type),不同的数据类型会导致实际采用不同的 Redis 命令操作:
list => BLPOP
channel => SUBSCRIBE
pattern_channel => PSUBSCRIBE
注意到了么?这里面没有 GET 命令!
Redis 服务器通常都是用作 NoSQL 数据库,不过 logstash 只是用来做消息队列。所以不要担心 logstash 里的 Redis 会撑爆你的内存和磁盘。
input {
redis {
host => "192.168.1.20"
port => 8079
type => "redis-input"
data_type => "list"
key => "key_count"
}
}
output {
stdout {}
elasticsearch {
hosts => ["192.168.1.20:9200"]
}
}