8.0 中的重大变更

8.0 中的重大变更

以下是 8.0 的重大变更。

与 Elasticsearch 的安全通信

Logstash 必须先建立安全套接字层 (SSL) 连接,然后才能将数据传输到本地 Elasticsearch 集群。Logstash 必须拥有签署集群证书的 Elasticsearch CA 的副本。当启动没有专用证书的新 Elasticsearch 集群时,它会在启动时生成自己的默认自签名证书颁发机构。

我们托管的 Elasticsearch 服务简化了 Logstash 和 Elasticsearch 之间安全可靠的通信。Elasticsearch 服务使用由标准公共信任证书颁发机构签署的证书,因此无需设置 cacert。

有关更多信息,请参阅 默认启用 Elasticsearch 安全性

Java 11 最低要求

Logstash 需要 Java 11 或更高版本。默认情况下,Logstash 将使用捆绑的 JDK 运行,该 JDK 已经过验证可与每个特定版本的 Logstash 配合使用,并且通常提供最佳的性能和可靠性。

删除了对 JAVA_HOME 的支持

我们已经删除了使用 JAVA_HOME 覆盖 JDK 路径的支持。需要使用捆绑的 JDK 之外版本的用户应将 LS_JAVA_HOME 的值设置为其首选 JDK 的路径。JAVA_HOME 的值将被忽略。

ECS 兼容性现在默认启用

现在,许多插件可以在避免与 Elastic Common Schema 隐式冲突的模式下运行。此模式由每个插件的 ecs_compatibility 选项单独控制,该选项默认为 Logstash pipeline.ecs_compatibility 设置的值。在 Logstash 8 中,此兼容模式将默认对所有管道启用。#11623

如果希望在升级到 Logstash 8 之前锁定 Logstash 7.x 中的管道行为,可以在 pipelines.yml(或全局在 logstash.yml 中)的定义中将 pipeline.ecs_compatibility: disabled 设置为禁用。

已删除 Ruby 执行引擎

自 Logstash 7.0 以来,Java 执行引擎一直是默认引擎,并且可以与用 Ruby 或 Java 编写的插件一起使用。删除 Ruby 执行引擎不会影响运行现有管道的能力。#12517

对 UTF-16 的支持

我们在读取日志文件时添加了对 UTF-16 和其他多字节字符的支持。#9702

已删除字段引用解析器配置设置

字段引用解析器解释管道和插件中对字段的引用。它的行为在 6.x 中是可配置的,而 7.x 仅允许一个选项:strict。8.0 不再识别该设置,但保持与 strict 设置相同的行为。Logstash 将拒绝含糊不清和不合法的输入作为标准行为。