网站用户行为数据统计与分析之四:logstash及其配置

    先来介绍一下logstash。

Logstash logo开源日志管理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的用法有了一个初步的了解了吧,我们就把它当作一个筛子,先拿数据进来,经过过滤,筛掉一些数据出去!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值