
elasticsearch+logstash+kibana是Elastic提供的一套开源的日志解决方案,网上已经有相关的教程,推荐比较全面的ELKstack中文指南。
- 下面是博主本次搭建elk的笔记,当然博主是参考ELKstack中文指南来搭建的,所以,如果你也需要这样一套日志解决方案,可以熟读一下GitBookELK中文指南。
好,闲话少说,首先,博主是在自己本地机器上搭建的这套环境,并没有到运用到生产上,所以,在生产环境上会出现什么问题,博主并不清楚,当然,已经有好多大公司在使用这套日志解决方案了,所以相对来说应该是比较成熟的。
博主的环境是MAC10.11.4 (15E65),因为买的国外的VPS内存实在是小了点儿,所以。。。
下载并安装
第一步从Elastic官网下载elasticsearch、logstash、kibana(2.x版本),解压安装。
1 2
| $ tar -zxvf logstash-2.3.4.tar.gz $ ln -s logstash-2.3.4 logstash
|
后续elasticsearch和kibana同样的安装方式。当然,本环境需要redis作为媒介,redis的安装教程,本文就不详细赘述了,可以参考redis快速安装指南。
启动
1、启动elasticsearch
2、在logstash目录下新建配置文件目录conf
conf1 2
| cd conf vim logstash.conf
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| mkdir conf cd conf vim logstash.conf input { file { path => ["*.log*"]#存放日志的路径 codec => multiline { pattern => "^[^\[0-9\]:\[0-9\]:\[0-9\]]" what => "previous" } } } filter { grok { match => [ "message", "(?m)(?<logtime>[0-9]{2}:[0-9]{2}:[0-9]{2})\s*\[\S*\]\s*(?<level>\w+)\s*(?<detail>.*)" ] } } output { redis{ host => "127.0.0.1" port => "6379" data_type => "list" key => "logstash" } } vim logstash_agent.conf input { redis{ host => "127.0.0.1" port => "6379" data_type => "list" key => "logstash" } } output { elasticsearch{ hosts => "127.0.0.1" index => "logstash-%{+YYYY.MM.dd}" template => "logstash_template.json" template_name => "logstash" } }
|
3、启动logstash
1 2
| bin/logstash -f etc/logstash.conf bin/logstash -f etc/logstash_agent.conf
|
4、启动kibana
测试
现在,你可以访问kibanaWeb,出现文章开头的web页面就说明已经配置成功:
结束语
是不是挺简单的,嘿嘿,当然,这只是简单的搭建起环境,其实还可以做的更精,这套日志解决方案本身就支持很多插件,也可以和hadoop、spark等等做集成,需要的话,就动手做吧。