[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插件可以访问es
http.cors.enabled: true
http.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的操作教程下回分解

原文地址:https://www.cnblogs.com/nicori/p/6767845.html