logstash读取redis中的数据

本文描述了一个简单的case,就是怎么在logstash进行配置,讲多个日志数据流,通过redis缓存接收,再导出到elasticsearch索引。
假设有两组日志数据由日志端写入redis缓存,两组日志标记其类型为redis-data-A和redis-data-B,则编写logstash配置文件如下
input {
redis {
host => “127.0.0.1”
type => “redis-data-A”
data_type => “list”
key => “listA”
}

redis {
host => “127.0.0.1”
type => “redis-data-B”
data_type => “list”
key => “listB”
}
}

output {
if [type] == “redis-data-A”{
elasticsearch {
host => localhost
index => “logstash_event_a-%{+YYYY.MM.dd}”
}
stdout { codec => rubydebug }
}

if [type] == “redis-data-B”{
elasticsearch {
host => localhost
index => “logstash_event_b-%{+YYYY.MM.dd}”
}
stdout { codec => rubydebug }
}
}

以上logstash的配置文件含义为:
1、在input处,设置两组redis输入数据,通过type指定两组数据的类型
2、在output处,通过if [type] == “”,设置条件输出,当满足type = redis-data-A,将数据导出到elasticsearch,索引格式为”logstash_event_a-%{+YYYY.MM.dd}”。如果type == redis-data-B,则导出到另一个索引里。

测试,使用redis-cli命令连接redis服务,尝试在两个队列listA和listB,输入数据。listA只输入英文字符,listB只输入数字。

打开 kibana,进入其首页,点击红框所示的标准界面

点击最右上角的齿轮按钮,配置dashborad读取redis-data-A日志数据的索引,即以logstash_event_a-开头的索引数据(同样的方法可以设置logstash_event_b-开头的):

点击保存后,dashboard页面刷新,可以看到显示的message内容,还有type里记录的redis-data-A,表示我们成功获取到了此类日志的数据,全是英文字符,且type为redis-data-A。

为了避免关闭浏览器后,下次重复以上配置,点击界面右上方的保存按钮,将这个配置保存下来。以后,只要点击打开图标,就可以找到这个配置了。

使用同样的方法查看日志数据redis-data-B,全是数字,且type为redis-data-B:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值