換了個運行環境,重新搭建一套公司本地內部的ELK,之前也搭過(可訪問:https://yanganlin.com/31.html),最近做什么事情都想用Docker,這次也用Docker,還算順利,沒掉什么坑里,上次搭建,也用用的6.2+的版本,這都過了一年,Elk這三個產品,都已經上7了,用docker搭建的還是用6.2.4,穩定不落伍就好
安裝elasticsearch
安裝
docker run \-d \--name elasticsearch \-p 9200:9200 \-p 9300:9300 \-e "discovery.type=single-node" \docker.elastic.co/elasticsearch/elasticsearch:6.2.4
?
訪問http://localhost:9200
安裝kibana
安裝
docker run \-d \-u 0 \--name kibana \-p 5601:5601\docker.elastic.co/kibana/kibana:6.2.4
?
進入到容器內部:docker exec -it kibana /bin/bash
找到kibana的配置文件:/usr/share/kibana/config/ kibana.yml
重啟容器:doccker restart kibana
修改配置文件,因為要繞過x-pack的安全檢查
?
elasticsearch.url: http://localhost:9200
xpack.monitoring.ui.container.elasticsearch.enabled: false
安裝logstash
安裝
docker run \-d \-u 0 \--name logstash \-p 5044:5044\docker.elastic.co/logstash/logstash:6.2.4
?
進入容器:docker exec -it logstash /bin/bash
找到文件:/usr/share/logstash/pipeline
修改配置文件logstash.conf
input {tcp {port => 5044codec => json_lines}
}output{elasticsearch {hosts => ["localhost:9200"]action => "index"index => "%{[appname]}"}stdout { codec => rubydebug }
}
?
重啟容器:doccker restart logstash
SpringBoot配置Logstash
logback.xml
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"><destination>localhost:5044</destination><encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"><customFields>{"appname":"eureka-server"}</customFields></encoder>
</appender><root level="INFO"><appender-ref ref="LOGSTASH"/>
</root>
?
pom.xml
<dependency><groupId>net.logstash.logback</groupId><artifactId>logstash-logback-encoder</artifactId><version>4.9</version>
</dependency>
在Kibana創建索引
參考:https://yanganlin.com/31.html
?