下载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的操作教程下回分解