1. Подготовка окружающей среды
Установите Elasticsearch, kibana, logstash, ссылку на учебникРуководство по установке
2. Настройте зависимости SpringBoot
Добавьте пакет зависимостей logStash в файл pom в проекте springBoot.
<!--logStash-->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>5.3</version>
</dependency>
Добавьте файл конфигурации данных журнала журнала logback-spring.xml в папку ресурсов Springboot.
<?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">
<!--配置logStash 服务地址-->
<destination>192.168.92.50:4560</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>
</appender>
<root level="INFO">
<appender-ref ref="LOGSTASH" />
<appender-ref ref="CONSOLE" />
</root>
</configuration>
3. Настройте конфигурацию коллекции журналов logstash.
Добавьте информацию о конфигурации коллекции журналов в файл конфигурации logstash logstash.conf.
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
input {
tcp {
mode => "server"
host => "192.168.92.50"
port => 4560
codec => json_lines
}
}
output {
elasticsearch {
hosts => "192.168.92.50:9200"
index => "springboot-logstash-%{+YYYY.MM.dd}"
}
}
Обратите внимание на адрес хоста и информацию об адресе es, настроенную выше, и используйте этот файл конфигурации для запуска службы logstash.
В-четвертых, конфигурация и отображение фильтрации журнала kibana.
Запустите службу springboot и настройте перехватчик логов в кибане.
Введите имя нашей конфигурации ведения журнала logstashПерейдите к следующему шагу и выберите фильтр с отметкой времени.Нажмите на меню «Обнаружение» слева, и было обнаружено, что данные были отображены.