首页 > 代码库 > [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]快速搭建简单的日志分析平台