概述
Elastic Stack 中的产品设计为可以一起使用,并且版本可以同步,以简化安装和升级过程。完整的堆栈包括:
本指南提供有关在使用多个Elastic Stack产品时进行安装和升级的信息。它指定了建议的安装顺序以及准备进行堆栈升级所需采取的步骤。
有关7.5.2中重大更改的详细信息以及特定组件的安装和升级说明,请参阅各个产品参考指南。
安装Elastic Stack
安装Elastic Stack时,必须在整个Stack中使用相同的版本。例如,如果您使用的是Elasticsearch 7.5.2,则安装Beats 7.5.2,APM Server 7.5.2,Elasticsearch Hadoop 7.5.2,Kibana 7.5.2和Logstash 7.5.2。
如果要升级现有安装,请参阅升级弹性堆栈以获取有关如何确保与7.5.2兼容的信息。
安装订单
按照以下顺序安装要使用的Elastic Stack产品:
- Elasticsearch (install instructions)
- Kibana (install)
- Logstash (install)
- Beats (install instructions)
- APM Server (install instructions)
- Elasticsearch Hadoop (install instructions)
按此顺序安装可确保每个产品所依赖的组件均已安装到位。
在Elastic Cloud中安装
在Elastic Cloud上安装很容易:单击即可创建一个配置为所需大小的Elasticsearch集群,无论是否具有高可用性。X-Pack始终安装,因此您可以自动保护和监视群集。只需单击一下,即可在集群上启用Kibana,并且许多流行的插件都可以使用。
某些Elastic Cloud功能只能与特定的 订阅级别一起使用。例如,安装自定义插件,词典和脚本需要Gold或Platinum订阅。
您可以免费试用Elasticsearch Service。有关更多信息,请参阅《 Elastic Cloud入门》。
升级Elastic Stack
升级到新版本的Elasticsearch时,您需要升级Elastic Stack中的每个产品。Beats和Logstash 6.7与Elasticsearch 7.5.2兼容,从而使您可以灵活地安排升级时间。
Elasticsearch支持从Elasticsearch 5.6到6.8以及从6.8到7.5.2的次要版本之间的滚动升级。
- 5.x索引与7.5.2不兼容。您必须删除它们或为它们重新编制索引,才能升级到7.5.2。默认的Beats和Logstash映射模板也需要更新才能与7.5.2一起使用。
准备升级
在将Elastic Stack升级到7.5.2之前:
- 检查Elasticsearch 弃用日志 以查看您是否正在使用任何不赞成使用的功能,并相应地更新代码。默认情况下,当日志级别设置为时,将记录弃用警告
WARN
。 - 查看重大更改并升级您的代码以使用7.5.2。
-
升级到6.8,然后使用Kibana升级助手重新索引 与7.5.2不兼容的所有索引。
-
使用升级助手来确定您需要对集群配置进行的任何更改。
升级过程
进行必要的更改并准备从6.8升级到7.5.2后,请执行以下操作:
Logstash 6.8和Beats 6.8与Elasticsearch的所有7.x版本兼容。这为您安排Logstash实例和Beats代理的升级提供了灵活性,但是我们建议尽快升级以利用性能改进和其他增强功能。
从6.6或更早版本升级
要从6.0-6.6版本直接升级到Elasticsearch 7.5.2,您必须 手动重新索引需要结转的所有5.x索引,并执行完全集群重启。这包括在5.x中创建的所有内部索引,例如.kibana
和 .security*
索引。
在升级到7.5.2之前,请确保已删除所有5.x索引。如果存在任何5.x索引,Elasticsearch 7.5.2将无法启动。
如果您运行的是6.0之前的版本,请 升级到6.8 并为旧索引重新建立索引,或者调出新的7.5.2群集并 从remote重新建立索引。
建议的路径是先升级到6.8,再升级到7.5.2。这使得识别升级所需的更改变得更加容易,并使您无需停机即可执行滚动升级。
在升级弹性云
只需单击弹性云控制台即可将集群升级到较新版本,增加更多处理能力,更改插件,以及同时启用或禁用高可用性。在升级过程中,Elasticsearch,Kibana,X-Pack和正式包含的插件会同时升级。
尽管升级Elastic Cloud集群很容易,但是您仍然需要解决影响应用程序的重大更改。可以进行次要版本升级,从6.8升级到7.5.2以及所有其他群集配置更改,而无需停机。
为了避免在需要重新启动完整集群时的停机时间:
- 使用新的Elasticsearch版本配置其他集群,重新索引数据,并将索引请求临时发送到这两个集群。
- 验证新群集是否按预期运行,解决所有问题,然后永久交换新群集。
- 删除旧群集以停止产生额外费用。仅针对新群集与旧群集并行运行的时间计费。使用情况按小时计费。
要了解有关Elastic Cloud上升级过程的更多信息,请参阅 升级版本。
Elastic Cloud仅支持升级到发行版本。不支持预览版本和主快照。
APM亮点
此列表总结了APM中最重要的增强功能。有关完整列表,请转到 APM版本亮点。
要使用7.5中引入的所有新功能,必须确保使用的是APM Server的7.5+版本和Kibana的7.5+版本。
Kibana中的APM应用
- 汇总服务细分图表为GA。可视化您的应用程序和服务大部分时间都花在哪里,并迅速找到性能问题的根本原因。.NET代理尚不可用。
-
APM代理的远程配置是GA。直接在Kibana中查看和编辑某些配置,而无需重新启动代理。在7.5中,我们引入了两个附加配置:
CAPTURE_BODY
-(可选)捕获HTTP事务的请求正文。TRANSACTION_MAX_SPANS
-限制每笔交易记录的跨度数。
此外,代理远程配置现在支持所有服务和环境。这意味着您可以在一种设置中配置多个服务和环境。
JVM实例级别的可见性:对单个JVM实例进行故障排除比以往更容易。选择一个JVM可以查看单个CPU使用率,内存使用率,堆或非堆内存,线程数,垃圾回收率以及每分钟花费的垃圾回收时间。
节拍亮点
有关完整列表,请转到Beats发行要点。
对于Azure云监控的新模块编辑
通过添加用于Azure监视的Metricbeat 和Filebeat模块,Azure用户现在可以直接从Azure Event Hub和Azure Monitor监视日志和指标,并使用预建的Kibana仪表板来加快分析速度。
基于提示的自动发现心跳增强编辑
在7.5中,作为Uptime解决方案的一部分,我们增强了心跳,使其包括 基于提示的自动发现,这特别适合监视Kubernetes服务的运行状况。
Elasticsearch亮点
此列表总结了Elasticsearch 7.5.2中最重要的增强功能。有关完整列表,请转到Elasticsearch发行要点。
充实处理器
添加了新的丰富摄取处理器,该处理器可以使用来自另一个索引的数据丰富文档。
在SQL形状的支持
适用于geo_shape的SQL功能现在将适用shape
于7.3中引入的字段类型。
快照生命周期管理保留
有一个新的快照生命周期管理保留,它使您可以通过自定义策略的时间表自动删除较旧的快照。
暂停跨群集复制
添加了用于跨群集复制的新的暂停和 恢复 API端点 ,使您可以临时暂停自动跟随模式。
机器学习分类分析
分类分析是一种有监督的机器学习过程,用于预测数据集中给定数据点的类别或类别。例如,它可以确定电子邮件是否为垃圾邮件。与回归分析不同,分类用于预测离散的分类值,而回归分析可以预测连续的数值。7.5.0引入了二进制分类,可以将数据点标记为两个可能的类别。
Kibana集锦
此列表总结了Kibana 7.5.2中最重要的增强功能。
有关重点内容的完整列表,请参见Kibana 7.5版本博客。
Lens一种新的方式来创建可视化(测试版)
Lens是一种简单,直观的可视化数据方式。Lens提供拖放体验,只需单击几下,即可帮助您从数据获取见解。如果您的数据有更好的可视化效果,Lens会为您提供智能的可视化建议,使您可以在可视化类型之间快速切换。是否要使用其他数据集?使用Lens,您可以直接从UI中选择其他索引模式。查看我们的文档以获取全部详细信息。
智能查询取消
从7.5开始,如果您导航到另一个页面或在获取结果之前更新查询,则Kibana将应用智能取消策略,从而取消Elasticsearch查询。取消不必要的查询可通过减少不再需要的查询引起的噪音来提高群集性能。
帆布workpads Kibana之外
Canvas引入了可共享内容,这是一种从Kibana外部共享信息的新方法。Shareables使我们的社区可以使用代码段共享静态Canvas工作台。将工作板添加到您的网站后,您可以自定义工作板的行为以自动播放页面。
新闻复制,以便您随时
通过我们在Kibana的新闻源,了解Elastic的最新动态。您将了解新功能,博客内容,最新的网络研讨会等。
更多地图增强
GeoJSON上传已在7.3中作为Beta发布,现在已在7.5中投入生产。GeoJSON上传使向地图添加自定义矢量形状更加容易。查看Indexing GeoJSON数据教程。
在7.5中,地图还引入了以下新功能:
- 按日期和时间字段样式,这对于跟踪时间序列数据并突出显示较旧记录上的新数据很有用。
- 文档排序,以确保您最重要的数据在地图上。
- 一种新的工具提示设计,支持拖放字段排序和图像嵌入。
用于管理API密钥的新UI
我们新的API密钥UI允许集群管理员查看和禁用所有API密钥,而用户则可以查看和使自己的密钥无效。当使用自动脚本或与其他软件进行工作流集成时,API密钥特别有用。例如,您可以使用API密钥自动从远程源中提取新数据,而无需实时用户交互。有关更多详细信息,请参见文档。
自动删除快照
现在,通过我们的“ 快照和还原”用户界面创建快照生命周期策略时 ,您可以选择配置保留期。此功能使您能够自动删除快照,从而减少了手动清理的需要,同时仅保留了最相关和最新的快照。例如,您可以定义一个策略,该策略删除30天以上的快照,始终保留最新的五个快照,如果存在的快照超过50个,则删除最旧的快照。有关 完整文档,请参阅快照生命周期管理保留。
重大更改
升级之前,您必须查看所使用的每个产品的重大更改并进行必要的更改,以使您的代码与7.5.2兼容。
- 如果要从5.n升级,请确保检查从5.n到6.n以及从6.n到7.n的重大更改!
- 如果您使用的机器学习数据馈送中包含不连续的搜索或查询域特定语言(DSL),则升级将失败。在5.6.5及更高版本中,升级助手提供有关需要更新哪些数据馈送的信息。
APM重大更改
此列表总结了APM中最重要的重大更改。有关完整列表,请转到APM Server 7.0重大更改。
Beats重大更改
有关完整列表,请转到Beats Breaking changes。
Elasticsearch重大更改
此列表总结了Elasticsearch 7.5.2中最重要的重大更改。有关完整列表,请转到Elasticsearch Breaking changes。
Elasticsearch Hadoop重大更改
有关完整列表,请转到 Elasticsearch Hadoop重大更改。
Kibana重大更改
此页面列出了Kibana 7.5.2中的重大更改。
现在的默认设置courier:batchSearches
是false
详细信息: 更改默认设置courier:batchSearches
,以false
意味着搜索请求将使用_search
Elasticsearch终点,而不是_msearch
。
影响: 仪表板面板将单独加载,并且当用户离开或更新查询时搜索请求将终止。
实验性代码应用已被删除
详细信息: 以前默认情况下禁用的实验性Code应用已被删除。由于现有的代码实现难以维持,因此我们决定暂时不继续开发该代码应用程序。
影响: Kibana启动时,以前启用了Code应用程序的所有安装现在都将记录警告。删除以开头的所有配置是安全的 xpack.code.
。从8.0开始,这些警告将成为阻止Kibana启动的错误。
Logstash重大更改
此列表总结了Logstash 7.5.2中最重要的重大更改。有关完整列表,请转到 Logstash重大更改。
Logstash Core的更改
这些更改可能会影响使用受影响功能的Logstash的任何实例。Logstash Core的更改与插件无关。
默认情况下启用Java执行引擎
默认情况下,新的Java执行引擎是启用的。它具有更快的性能,减少的内存使用量以及更少的配置启动和重新加载时间。
有关更多信息,请参阅有关Java执行引擎的初始发行版的博客文章 。
我们竭尽全力使此更改变得无缝。不过,这是一个很大的变化。如果您发现可能相关的不同行为,请 打开GitHub问题以告知我们。
节拍符合弹性通用架构(ECS)
从7.0开始,Beats字段符合Elastic Common Schema(ECS)。
如果在升级Beats之前升级Logstash,则有效负载将继续使用ECS之前的架构。如果在升级Logstash之前先升级Beats,则在进行Logstash升级之前,您将获得带有ECS架构的有效负载。
如果在升级后看到映射冲突,则表明Beats / ECS更改正在影响到达现有索引的数据。
有关Beats和ECS的更多信息, 请参见Beats Platform参考。
字段参考解析器更加严格
字段引用解析器用于解释对管道和插件中字段的引用,它变得更加严格,现在将拒绝模棱两可或非法的输入。由于6.4,Logstash已遇到输入是模糊的,当发出警告,并允许早期选择加入的严格模式通过提供命令行标志解析任一 --field-reference-parser STRICT
或通过添加config.field_reference.parser: STRICT
到logstash.yml
。
这是一个例子。
之前
logstash-6.7.0 % echo "hello"| bin/logstash -e 'filter { mutate { replace => { "message" => "%{[[]]message]} you" } } }'
[2019-04-05T16:52:18,691][WARN ][org.logstash.FieldReference] Detected ambiguous Field Reference `[[]]message]`, which we expanded to the path `[message]`; in a future release of Logstash, ambiguous Field References will not be expanded.
{
"message" => "hello you",
"@version" => "1",
"@timestamp" => 2019-04-05T15:52:18.546Z,
"type" => "stdin",
"host" => "overcraft.lan"
}
后
logstash-7.0.0 % echo "hello"| bin/logstash -e 'filter { mutate { replace => { "message" => "%{[[]]message]} you" } } }'
[2019-04-05T16:48:09,135][FATAL][logstash.runner ] An unexpected error occurred! {:error=>java.lang.IllegalStateException: org.logstash.FieldReference$IllegalSyntaxException: Invalid FieldReference: `[[]]message]`
[2019-04-05T16:48:09,167][ERROR][org.logstash.Logstash ] java.lang.IllegalStateException: Logstash stopped processing because of an error: (SystemExit) exit
Logstash插件中的更改
使用7.0.0,我们已经有机会将许多捆绑的插件升级到其最新的主要版本,将其重大更改吸收到Logstash发行版中。
尽管这些升级包括新功能和重要修补程序,但下面仅列出了重大更改。
插件的大部分更改是删除了以前不推荐使用且现在已经过时的选项。在升级之前,请确保管道配置不使用这些已删除的选项。
编解码器插件
这是编解码器插件的重大更改。
CEF编解码器
- 删除了过时的
sev
选项 - 删除了过时的
deprecated_v1_fields
选项
Netflow编解码器
- 更改了application_id的解码以实现RFC6759;格式从一对冒号分隔的ID(例如
0:40567
)更改为可变数量的双点分隔的ID(例如0..12356..40567
)。
过滤插件
这是过滤器插件的重大更改。
克隆过滤器
- 做出
clones
必要的选择
Geoip过滤器
- 删除了过时的
lru_cache_size
选项
HTTP过滤器
- 删除了过时的
ssl_certificate_verify
选项
输入插件
这是输入插件的重大更改。
节拍输入
- 删除了过时的
congestion_threshold
选项 - 删除了过时的
target_field_for_codec
选项 - 将默认值更改
add_hostname
为false
在Beats 7.0.0中,Beats导出到 Logstash Beats Input 的字段符合Elastic Common Schema(ECS)。许多导出的字段已被重命名,因此在升级Beats之前,您可能需要修改管道配置以在新位置访问它们。有关 已更改名称的完整列表,请参见7.0中的Beats Breaking changes。
HTTP输入
- 删除了过时的
ssl_certificate_verify
选项
HTTP轮询器输入
- 删除了过时的
interval
选项 - 删除了过时的
ssl_certificate_verify
选项
Tcp输入
- 删除了过时的
data_timeout
选项 - 删除了过时的
ssl_cacert
选项
输出插件
这是输出插件的重大更改。
Elasticsearch输出
- 如果您的Elasticsearch集群支持,则默认情况下会自动检测并启用 Elasticsearch Index生命周期管理(ILM)。
- 删除对父/子的支持(仍然支持联接数据类型),因为我们不再支持多种文档类型
- 删除了过时的
flush_size
选项 - 删除了过时的
idle_flush_time
选项
HTTP输出
- 删除了过时的
ssl_certificate_verify
选项
卡夫卡输出
- 删除了过时的
block_on_buffer_full
选项 - 删除了过时的
ssl
选项 - 删除了过时的
timeout_ms
选项
Redis输出
- 删除了过时的
queue
选项 - 删除了过时的
name
选项
平方输出
- 删除了过时的
batch
选项 - 删除了过时的
batch_timeout
选项
Tcp输出
- 删除了过时的
message_format
选项