码迷,mamicode.com
首页 > 其他好文 > 详细

Redis+Logstash+Elasticsearch+Kibana多Redis日志数据流

时间:2015-09-05 20:54:54      阅读:307      评论:0      收藏:0      [点我收藏+]

标签:

本文描述了一个简单的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,则导出索引格式为"logstash_event_b-%{+YYYY.MM.dd}"。注意,索引格式不能有大写字符,否则elasticsearch会报错。


测试,使用redis-cli命令连接redis服务,尝试在两个队列listA和listB写入数据。listA只输入英文字符,listB只输入数字。这里只是为了演示,实际开发中使用Java或者Python连接redis-server,然后写入JSON格式的字符串即可。Logstash会拆解JSON字符串,将数据正确地写入elasticsearch索引。非常方便。

技术分享


打开 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

技术分享


注意事项:如果出现kibana无法显示数据。请做如下配置调整:

1、在logstash的目录logstash-1.4.2/vendor/kibana中,编辑config.js文件,设置elasticsearch: "http://192.168.1.100:9200",这是我试验用的服务器地址

2、在elasticsearch的config目录,设置elasticsearch.yml,在最后面增加http.cors.enabled: true和http.cors.allow-origin: "*"

Redis+Logstash+Elasticsearch+Kibana多Redis日志数据流

标签:

原文地址:http://my.oschina.net/u/2242064/blog/501402

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!