最近公司的项目中用到了ELK,正好有时间自己搭建一个学习一下。在实体机或虚拟机中搭建还需要安装软件,使用docker镜像安装是省时省力的,如下是步骤。
1. 下载elasticsearch
镜像:
#docker pull elasticsearch
2. 下载logstash 镜像:
#docker pull logstash
3. 下载kibana镜像:
#docker pull kibana
4. 下载tomcat镜像:
#docker pull tomcat
5. 启动elasticsearch:
#docker run --name myes -d -p 9200:9200 -p 9300:9300 elasticsearch
6. 启动kibana:
#docker run --name mykibana -e ELASTICSEARCH_URL=http://172.17.0.2:9200 -p 5601:5601 -d kibana
7. 启动tomcat:
#docker run -d --name myweb -v $PWD:/usr/local/tomcat/logs -p 8080:8080 tomcat
8. 编辑logstash.conf文件,使logstash启动的时候加载之:
cat > logstash.conf << EOF
input {
file {
path => "/tmp/catalina.2017-12-18.log"
start_position => "beginning"
}
}
filter {
if [path] =~ "access" {
mutate { replace => { "type" => "tomcat catalina.out" } }
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
}
output {
elasticsearch {
hosts => ["172.17.0.2:9200"] #elasticsearch地址
}
stdout { codec => rubydebug }
EOF
9.启动logstash:
#docker run -d -v "$PWD":/tmp --name mylog logstash -f /tmp/logstash.conf
10.好了,准备工作做完了,现在可以打开kibana验证一下了.
# firefox http://172.17.0.3:5601
11.点击management,初识kibana,还不太动index pattern怎么搞,于是写*,点击Createa,点击"discover",发现日志已经在上面了,结果是出来了,还需要研究下原理