先来介绍一下logstash。

logstash需要配置JAVA环境变量_redis

开源日志管理Logstash



   logstash 是一个应用程序日志、事件的传输、处理、管理和搜索的平台。你可以用它来统一对应用程序日志进行收集管理,提供 Web 接口用于查询和统计。



   官网:http://www.logstash.net/



   logstash工具用起来很简单,具体怎么用,如果英语水平不过关,读不懂英文官网的话,可能入门比较难,因为现阶段国内用的比较少,网上中文资料就更少了,我在这里就给个思路,抛砖引玉:



   如果linux命令用的不熟的盆友,先花点时间补补!



   先安装1.7版的JDK



 > java -version


 java version "1.7.0_45"


 Java(TM) SE Runtime Environment (build 1.7.0_45-b18)


 Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)



 再安装logstash


 命令行输入:



 curl -O https://download.elasticsearch.org/logstash/logstash/logstash-1.4.0.tar.gz



 tar zxvf logstash-1.4.0.tar.gz


 cd logstash-1.4.0


 


 我们写程序都是先易后难,我们先来个简单的测试一下安装是否成功!



 命令行输入:bin/logstash -e 'input { stdin { } } output { stdout {} }'


 回车,显示空白,输入hello world试试



 显示:2013-11-21T01:22:14.405+0000 0.0.0.0 hello world,当然时间不是这个时间!


 祝贺你,安装成功!



 我们结合上一篇博文讲的redis,来个稍微难一点的!


 我们不像上面stdin那样输入数据,而从redis中获取数据,然后stdout!


 !!! 然而在这里,有一点,我需要特别强调一下,如果用jedis的get方法,因为set方法是把redis当做数据库用,你是无法将redis中的数据传输到logstash日志处理中心的,相反,你必须要用rpush方法来将数据储存到redis队列中,这一关键点,耗费了我好几天时间,最后才在redis的官网发现的,所以希望大家不要再走弯路!



 我们再logstash的安装目录下,新建一个logstash.conf的配置文件。


 内容如下:


input {
 

     redis { 


     host => "127.0.0.1" 


     data_type =>"list" 


     key => "mylogstash" 


     type => "redis-input" 


     } 

 } 

 output { 

         

     stdout { codec => rubydebug } 

 } 

 大家对比下面这句命令: 


 bin/logstash -e 'input { stdin { } } output { stdout {} }'


是不是发现很相似,是的,它其实就是把在命令行上输入的命令,配置文件中了!只不过把数据输入的方式从控制台转换到了redis缓存而已


那么大家在启动logstash之前,需要先启动redis服务器:


切换到redis安装目录,命令行输入:



redis-server /root/data/redis-2.8.8/redis.conf(后面这部分为redis的默认配置文件)



大家以这种配置文件的方式启动,是比较标准的!如果启动成功,则会出现一个立体的四方体,并且命令行终端会出现server started,redis version 2.8.8

打开另一个终端,命令行输入:



[root@localhost ~]# redis-cli


127.0.0.1:6379>


此时,我们就可义开始操作redis了


127.0.0.1:6379> rpush mylogstash kk


(integer) 1


127.0.0.1:6379> rpop mylogstash


"kk"


127.0.0.1:6379>



rpush 设置;rpop 获取!!!mylogstash?为什么是mylogstash?因为logstash.conf中的key是mylogstash,我们要知道,redis的存储方法是key-value对。

OK,再配置好logstash.conf文件,以及给redis设置了值以后,我们就可以开始启动logstash了!如何启动?切换到logstash 的安装目录,输入如下命令:

bin/logstash -f logstash.conf等待启动,如果成功,控制台则会打印 mylogstash,也就是刚刚操作redis设置的一些信息。

其实在logstash.conf配置文件中,远不止这些简单的配置,一个比较完整的配置文件应该包括以下几个部分:

input 输入

codec 数据格式

filter 过滤器

output 输出

详情请见官网!

讲到这,大家应该对logstash的用法有了一个初步的了解了吧,我们就把它当作一个筛子,先拿数据进来,经过过滤,筛掉一些数据出去!