Logstash【从无到有从有到无】【L5】升级Logstash

目录

1.升级Logstash

1.1.使用包管理器升级

1.2.使用直接下载进行升级

1.3.在旧版本之间的升级

1.4.将Logstash升级到7.0

1.4.1.在升级到7.0 之前升级到Logstash 6.7

1.5.启用持久队列升级

1.5.1.排空持久队列(版本6.2.x及更早版本)

1.5.2.排空持久队列(版本6.2.x及更早版本)


 

1.升级Logstash

 

在升级Logstash之前:

在升级Logstash时:

  • 如果使用X-Pack监视,则必须在升级Logstash时重新使用数据目录。否则,Logstash节点将分配一个新的持久性UUID,并成为监视数据中的新节点。

如果要升级堆栈中的其他产品,请阅读“ Elastic Stack Installation and Upgrade Guide.

有关升级Logstash的信息,请参阅以下主题:

 

  • 何时升级

全新安装可以并且应该从Elastic Stack中的相同版本开始。

Elasticsearch 7.0不需要Logstash 7.0。Elasticsearch 7.0集群将通过默认的HTTP通信层愉快地从早期版本的Logstash接收数据。这为确定何时相对于Elasticsearch升级升级Logstash提供了一些灵活性。您可能会或可能不方便将它们一起升级,并且只要首先升级Elasticsearch,就不需要同时完成它们。

您应该及时升级以获得Logstash 7.0带来的性能改进,但这样做的方式对您的环境最有意义。

 

  • 何时不升级

如果您需要的任何Logstash插件与Logstash 7.0不兼容,那么您应该等到它准备好再升级之前。

虽然我们努力确保兼容性,但Logstash 7.0并不完全向后兼容。如Elastic Stack升级指南中所述,在Elasticsearch 7.0之前不应升级Logstash 7.0。这是实用的,因为一些Logstash 7.0插件可能会尝试使用早期版本中不存在的Elasticsearch 7.0功能。例如,如果您尝试在Elasticsearch 7.0之前将7.x模板发送到群集,则所有索引可能都会失败。如果您使用自己的自定义模板与Logstash,则可以忽略此问题。

 

1.1.使用包管理器升级

此过程使用包管理器升级Logstash。

  1. 关闭Logstash管道,包括将事件发送到Logstash的任何输入。
  2. 使用“ 从软件包存储库安装”部分中的说明,更新存储库链接以指向7.x存储库。
  3. 根据您的操作系统运行apt-get upgrade logstashyum update logstash命令。
  4. 使用该logstash --config.test_and_exit -f <configuration-file>命令测试配置文件。某些Logstash插件的配置选项在7.x版本中已更改。
  5. 更新配置文件后重新启动Logstash管道。

 

1.2.使用直接下载进行升级

此过程直接从Elastic下载相关的Logstash二进制文件。

  1. 关闭Logstash管道,包括将事件发送到Logstash的任何输入。
  2. 下载与您的主机环境匹配的Logstash安装文件
  3. 将安装文件解压缩到Logstash目录中。
  4. 使用该logstash --config.test_and_exit -f <configuration-file>命令测试配置文件。某些Logstash插件的配置选项在7.x版本中已更改。
  5. 更新配置文件后重新启动Logstash管道。

 

1.3.在旧版本之间的升级

作为一般规则,您可以通过简单地安装新版本并重新启动Logstash来在次要版本之间进行升级(例如,7.x到7.y,其中x <y)。Logstash通常保持配置设置和导出字段的向后兼容性。有关潜在的例外情况,请查看 发行说明

不支持在非连续主要版本(例如5.x到7.x)之间进行升级。

 

1.4.将Logstash升级到7.0

在升级Logstash之前:

如果要在Elastic Stack中安装Logstash和其他组件,请参阅 Elastic Stack安装和升级文档

不支持在非连续主要版本(例如5.x到7.x)之间进行升级。我们建议您升级到6.x,然后升级到7.x.

 

1.4.1.在升级到7.0 之前升级到Logstash 6.7

如果尚未升级到版本6.7,请在升级到7.0之前升级到版本6.7。如果您在Elastic Stack中使用其他产品,请将Logstash升级为 Elastic Stack升级过程的一部分

升级到Logstash 6.7将为您提供新的7.0功能,包括Java执行引擎和严格的字段引用解析器,同时您仍在运行6.x. 此步骤有助于降低风险,并且如果您遇到困难,可以更轻松地进行回滚。

需要升级到6.7,因为Elasticsearch索引模板已修改为与Elasticsearch 7.0兼容(_type设置已更改doc_doc)。

 

1.5.启用持久队列升级

如果您启用了持久性队列(PQ),请阅读适用于您的升级方案的部分。

 

1.5.1.排空持久队列(版本6.2.x及更早版本)

仅当您从启用了持久队列(PQ)的Logstash V6.2.x或更早版本升级时,以下内容才适用。

我们努力在给定的主要版本中保持向后兼容性。Logstash 6.2.x及更早版本中的序列化问题要求我们在版本6.3.0中破坏该兼容性以确保操作的正确性。有关更多技术细节,请查看我们的跟踪github问题,#9494

我们强烈建议您在从V6.2.x及更早版本升级之前排空或删除持久队列。

排空队列:

  1. 在logstash.yml文件中,设置queue.drain:true
  2. 重新启动Logstash以使此设置生效。
  3. 关闭Logstash(使用CTRL + C或SIGTERM),并等待队列清空。

队列为空时:

  1. 完成升级。
  2. 重新启动Logstash。

我们已解决版本6.3及更高版本的数据不兼容问题。将来的升级不需要这些步骤。

 

1.5.2.排空持久队列(版本6.2.x及更早版本)

支持在启用持久队列的情况下升级Logstash。持久队列目录是自包含的,可以由运行相同管道的新Logstash实例读取。您可以安全地关闭原始Logstash实例,启动新实例,并在logstash.yml 设置文件设置path.queue指向原始队列目录。您还可以使用已安装的驱动器来简化此工作流程。

请记住,只有一个Logstash实例可以写入path.queue。您不能同时将原始实例和新实例写入队列。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值