docker搭建es和kibana见docker启动各种中间件_噗 嗤的博客-CSDN博客
首先docker pull logstash:7.1.0
docker运行logstash后把config pipeline data cp到本地 待会挂载需要 然后删除容器
pipeline里的logstash.conf 内容如下
input {
tcp {
mode => "server"
host => "0.0.0.0"
port => 5044
codec => json_lines
}
}
output {
elasticsearch {
action => "index"
hosts => ["http://你的ip:9200"]
index => "server-log-%{+YYYY.MM.dd}"
}
}
config里的logstash.yml 内容如下
http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://你的ip:9200" ]
接着运行
docker run --name logstash -d -v /home/logstash/config:/usr/share/logstash/config -v /home/logstash/pipeline:/usr/share/logstash/pipeline -v /home/logstash/data:/usr/share/logstash/data -p 5044:5044 -p 9600:9600 93
springboot项目
maven引入
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>6.1</version>
</dependency>
application.yml配置日志文件路径
logging:
config: classpath:logstash-spring.xml
新建日志配置文件logstash-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>你的ip:5044</destination>
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>
<root level="INFO">
<appender-ref ref="LOGSTASH"/>
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
运行后在kibana管理里面创建索引模式