首先是下载镜像文件
docker pull elasticsearch:5.6.11
docker pull kibana:5.6.11
docker pull logstash:5.6.15
1、ElasticSearch
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms256m -Xmx256m" \
-v /usr/local/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /usr/local/elasticsearch/data:/usr/share/elasticsearch/data -d elasticsearch:5.6.11
特别注意:
-e ES_JAVA_OPTS="-Xms256m -Xmx256m" \ 测试环境下,设置ES的初始内存和最大内存,否则导致过大启动不了ES
2、Kibana
docker run --name kibana -e ELASTICSEARCH_URL=http://192.168.109.108:9200 -p 5601:5601 \
-d kibana:5.6.11
3、Logstash
1)、在/usr/local/logstash中创建logstash.conf文件:文件内容如下
input {
tcp {
port => 4560
codec => json_lines
}
}
output{
elasticsearch {
hosts => ["192.168.109.108:9200"]
index => "applog"
}
stdout { codec => rubydebug }
}
注意:
hosts一定不要写127或者localhost;这样docker容器内部127没有es实例,连不上
docker run -d -p 4560:4560 \
-v /usr/local/logstash/logstash.conf:/etc/logstash.conf \
--link elasticsearch:elasticsearch \
--name logstash logstash:5.6.15 \
logstash -f /etc/logstash.conf
怎么将日志计入elasticsearch呢?
官网上去复制xml配置文件。spring-logbakc.xml
然后我们就能够在Kibana里面看见了
并且能够在Discover里面进行检索
最后就是在Kibana里面建立好索引就可以使用了