elasticsearch,kibana,logstash搭建見上文
1.配置spring boot項目
pom檔案
<!-- logback 推送日志檔案到logstash -->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>6.5</version>
</dependency>
logstash.xml檔案
<!--logstash配置-->
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>192.168.xx.xx:5000</destination>
<!-- 日志輸出編碼 -->
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<timestamp>
<timeZone>UTC</timeZone>
</timestamp>
<pattern>
<pattern>
{
"logLevel": "%level",
"serviceName": "${springAppName:-}",
"pid": "${PID:-}",
"thread": "%thread",
"class": "%logger{40}",
"rest": "%message"
}
</pattern>
</pattern>
</providers>
</encoder>
<!--<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>-->
</appender>
新增以上代碼
注意:
192.168.xx.xx:5000 中ip為logstash伺服器的ip,端口号是向logstash發送請求的端口(需要與下文logstash監控配置相同),随便指定,且端口不能被占用,并開啟防火牆
<root level="info">
<appender-ref ref="CONSOLE" />
<appender-ref ref="INFO_FILE" />
<appender-ref ref="LOGSTASH"/>
</root>
<appender-ref ref="LOGSTASH"/> 一定要配置 否則無法輸出。
注:指定指定logstash.xml需要配置 不多說

2.配置logstash
在/logstash/bin中建立log_to_es.conf 新增配置
input{
tcp {
mode => "server"
host => "0.0.0.0"
port => 5000 監控spring boot發來的請求 與spring boot中端口号相同 且不能有其他端口占用
codec => json_lines
}
}
output{
elasticsearch{
hosts=>["192.168.xx.xx:9200"] es位址
index => "index-%{+YYYY.MM.dd}" 索引名稱
}
stdout{codec => rubydebug}
}
修改/logstash/config下的logstash.yml 如果
http.host: "192.168.49.14"
3.檢視結果
通路kibana 按照圖中點選 檢視索引是否多出來監控索引即可判斷是否成功