首页 > 代码库 > [ELK]快速搭建简单的日志分析平台

[ELK]快速搭建简单的日志分析平台

下载ELK(Elasticsearch,Logstash,Kibana)

 

Elasticsearch:wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.4.tar.gz

Logstash:wget https://download.elasticsearch.org/logstash/logstash/logstash-1.4.2.tar.gz

Kibana:wget https://download.elastic.co/kibana/kibana/kibana-4.1.1-linux-x64.tar.gz 

 

把Elasticsearch,Logstash,Kibana解压到/home/elk

 

1.Elasticsearch

前台启动:/home/elasticsearch-1.4.4/bin/elasticsearch start

后台启动:/home/elasticsearch-1.4.4/bin/elasticsearch -d

config/elasticsearch.yml最后添加两项

# 默认的就好http.port: 9200# 增加新的参数,这样Kibana/es插件可以访问eshttp.cors.enabled: truehttp.cors.allow-origin: "*"

如果不使用Kibana的同学可以安装Elasticsearch的插件,效果差不多

监控插件:

Head监控:在bin目录下执行plugin install mobz/elasticsearch-head
Marvel图形化监控:在bin目录下执行plugin install mobz/elasticsearch-head

(bin目录执行不了可以试试全路径 /home/elasticsearch-1.4.2/bin/plugin install mobz/elasticsearch-head)

 

2.Logstash

在logstash目录创建一个logstash.conf文件

input {     file {        path => ["/Users/Documents/log/*.log"]        start_position => "beginning"        type => "logs_test"        add_field => {"tomcatip" => "192.168.1.1"}     }}filter {    multiline {      pattern => "(.*at .*)"      what => "previous"    }}output {       elasticsearch {          host => ["192.168.1.1"]       }       stdout {          codec => rubydebug       }}

file

path:自动检查截取目录下的log,可支持模糊文件名 如 catalina.*.log

start_position:默认end,beginning从头开始读

type:自定义类型 可根据项目名起

add_field:增加一个字段tomcatip,用于区分多台服务器

 

filter

multiline pattern:使用正则匹配Message,匹配后根据what来进行下一步操作

what:设置匹配的内容是向前合并还是向后合并 previous, next

ps:列子中的正则是解决错误合并的问题

 

output

可以选择redis和elasticsearch 这里只说elasticsearch

host:配置你的es服务器的ip地址

codec:调试插件 一般有plain、json、json_lines、rubydebug、multiline

 

前台启动:bin/logstash -f logstash-simple.conf

后台启动:nohup bin/logstash -f logstash-simple.conf

如果启动报错可以下载logstash-contrib-1.4.2试试,下载完成解压覆盖到logstash目录即可

 

3.Kibana

进入kibana目录,bin/kibana

打开http://ip:5601/ 看到这个界面就说明启动成功了

技术分享

 

kibana的操作教程下回分解

[ELK]快速搭建简单的日志分析平台