【发布时间】:2018-03-16 07:20:26
【问题描述】:
我很好奇人们使用 Spring-Data-Elasticsearch 提取 Logstash 数据的 Java 实体中的 @Id 是什么?流入 Logstash 的日志数据没有明显的候选者。最接近的可能是时间戳,但不能保证它是唯一的。同样显然 Spring 不支持 ZonedDateTime 作为@Id。
我正在使用 Spring Boot 2.0.0.RELEASE。默认的 logback logstash 编码器可以很好地写入文件系统。我让 Filebeat 将其发送到 Logstash,然后发送到 Elasticsearch (5.5.x)。
我正在编写一个 Java 应用程序来对日志执行各种操作。我正在使用 Spring Data Elasticsearch (3.0.5.Release)。
上面写的 Elasticsearch 中的记录示例:
{
"_index":"logstash-2017.09.08",
"_type":"log",
"_id":"AV5j2z-qpNewjNB_ukIA",
"_version":1,
"_score":1,
"_source":{
"offset":18441,
"level":"ERROR",
"input_type":"log",
"source":"/var/log/somecompany/configuration_service/json/configuration_service_json_events.json",
"message":" *************************** APPLICATION FAILED TO START *************************** Description: The Tomcat connector configured to listen on port 8888 failed to start. The port may already be in use or the connector may be misconfigured. Action: Verify the connector's configuration, identify and stop any process that's listening on port 8888, or configure this application to listen on another port. ",
"type":"log",
"tags":[
"beats",
"beats_input_codec_plain_applied"
],
"@timestamp":"2017-09-08T23:37:41.639Z",
"application_name":"configuration-service",
"thread_name":"main",
"level_value":40000,
"@version":1,
"beat":{
"hostname":"f3758598e319",
"name":"f3758598e319",
"version":"5.5.2"
},
"host":"f3758598e319",
"logger_name":"org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter",
"application_version":"3.14.0-SNAPSHOT"
}
}
【问题讨论】:
标签: logstash spring-data-elasticsearch