Spring Boot 将日志发送到 ElasticSearch

问题描述 投票:0回答:1

我有一个 Spring Boot 应用程序。我想将日志发送到 ElasticSearch,以便稍后我可以使用 Kibana 制作一些仪表板和统计数据。这是我的

logback.xml
文件

<configuration>
<appender name="ELASTICSEARCH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
    <destination>localhost:9200</destination>
    <encoder class="net.logstash.logback.encoder.LogstashEncoder">
        <customFields>{"index":"sdk-logs"}</customFields>
        <pattern>%magenta(%d{HH:mm:ss.SSS}) %highlight([%thread]) %-5level [userId: %X{orgid}] %cyan(%logger{36}) -
            %blue(%msg%n)
        </pattern>
        <index>sdk-logs</index>
    </encoder>
</appender>

<root level="debug">
    <appender-ref ref="ELASTICSEARCH"/>
</root>
</configuration>

据我了解,这应该会自动在 ElasticSearch 上创建一个名为 sdk-logs 的索引,并将日志发送到该索引。 ElasticSearch 和 Kibara 已进行 Docker 化并在端口

5601
9200
上运行。要启动应用程序,我需要添加此依赖项:

<dependency>
    <groupId>net.logstash.logback</groupId>
    <artifactId>logstash-logback-encoder</artifactId>
    <version>7.4</version>
</dependency>

整个设置不起作用。该应用程序未在 ElasticSearch 上创建索引。我试图用 http://localhost:9200/_cat/indices?v

来确认
health status index                           uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   .geoip_databases                B_c2UakQQLeqPbh_h6zqqQ   1   0         42           38     39.3mb         39.3mb
green  open   .kibana_7.15.0_001              TT0Zy7fcTw23_8jMII4XJg   1   0        102           20      2.3mb          2.3mb
green  open   .apm-custom-link                Nh-LWRvOQB2wuabBUlDwgg   1   0          0            0       208b           208b
green  open   .kibana-event-log-7.15.0-000001 TNnCY1x6Q6mtCCs5seau9A   1   0          2            0     11.9kb         11.9kb
green  open   .apm-agent-configuration        tbmgbDmjSvWjE2qdRGaQpQ   1   0          0            0       208b           208b
green  open   .async-search                   ca5hu_yXQcyNjqCqC3JoOA   1   0          0            2      3.4kb          3.4kb
green  open   .kibana_task_manager_7.15.0_001 NaHmMJZTQ6aQYekhgKO3hw   1   0         15         2580    668.7kb        668.7kb
green  open   .tasks                          ppCejuqLQO6hW6RDyVeOvg   1   0          2            0      7.8kb          7.8kb

我不确定我错过了什么,但应用程序正在记录这个

警告 net.logstash.logback.appender.LogstashTcpSocketAppender[ELASTICSEARCH] -记录目标 localhost/:9200:尝试重新连接之前等待 29993 毫秒。

spring-boot elasticsearch logging logback elk
1个回答
0
投票

logstash-logback-encoder
用于将日志发送到logstash,而不是直接发送到ElasticSearch。您需要部署一个logstash实例。

© www.soinside.com 2019 - 2024. All rights reserved.