原文链接:https://www.elastic.co/guide/en/elastic-stack/current/overview.html#overview
概述
Elastic Stack 中的产品设计为可以一起使用,并且版本可以同步,以简化安装和升级过程。完整的堆栈包括:
本指南提供有关在使用多个Elastic Stack产品时进行安装和升级的信息。它指定了建议的安装顺序以及准备进行堆栈升级所需采取的步骤。
有关在7.5.1中进行重大更改以及特定组件的安装和升级说明的详细信息,请参阅各个产品参考指南。
安装Elastic Stack
安装Elastic Stack时,必须在整个Stack中使用相同的版本。例如,如果您使用的是Elasticsearch 7.5.1,则安装Beats 7.5.1,APM Server 7.5.1,Elasticsearch Hadoop 7.5.1,Kibana 7.5.1和Logstash 7.5.1。
如果要升级现有安装,请参阅升级Elastic Stack以获取有关如何确保与7.5.1兼容的信息。
安装顺序
按照以下顺序安装要使用的Elastic Stack产品:
- Elasticsearch (安装指导)
- Kibana (安装指导)
- Logstash(安装指导)
- Beats (安装指导)
- APM Server (安装指导)
- Elasticsearch Hadoop (安装指导)
按此顺序安装可确保每个产品所依赖的组件均已安装到位。
Elastic Cloud安装(略)
升级Elastic Stack
升级到新版本的Elasticsearch时,您需要升级Elastic Stack中的每个产品。Beats和Logstash 6.7与Elasticsearch 7.5.1兼容,从而使您可以灵活地安排升级时间。
Elasticsearch支持从Elasticsearch 5.6到6.8以及从6.8到7.5.1的次要版本之间的滚动升级。
5.x索引与7.5.1不兼容。您必须删除它们或为其重新编制索引,才能升级到7.5.1。默认的Beats和Logstash映射模板也需要更新才能与7.5.1一起使用。
升级准备
在将Elastic Stack升级到7.5.1之前:
- 检查Elasticsearch deprecation log以查看您是否正在使用任何不赞成使用的功能,并相应地更新代码。默认情况下,当日志级别设置为WARN时,将记录弃用警告。
- 查看重大更改并升级代码以使用7.5.1。
- 升级到6.8,然后使用Kibana升级助手重新索引 与7.5.1不兼容的所有索引。
升级助手
基本和试用许可证均启用了升级助手和迁移API。您可以安装默认发行版6.8,以使用升级助手准备升级,即使您要升级到7.5.1的OSS发行版也是如此。
- 使用升级助手来确定您需要对集群配置进行的所有变化。
升级过程
当你做了必要的修改并准备从6.8升级到7.5.1:
-
在升级生产集群之前,请 在开发环境中测试升级。
-
备份您的数据。你不能回退,除非你有你的数据的快照到一个较早的版本。有关创建快照的信息,请参阅 快照和还原。
-
在开始升级过程之前,请考虑关闭机器学习作业。虽然机器学习作业可以在滚动升级期间继续运行,但会在升级过程中增加群集的开销。有关更多信息,请参阅滚动升级。
-
按以下顺序升级Elastic Stack的组件:
a. Elasticsearch Hadoop:安装说明
b. Elasticsearch:升级说明
c. Kibana:升级说明
d. Logstash:升级说明
e. Beats:升级说明
f. APM Server:升级说明
注意:
Logstash 6.8和Beats 6.8与Elasticsearch的所有7.x版本兼容。这为您安排Logstash实例和Beats代理的升级提供了灵活性,但是我们建议尽快升级以使用其性能改进和其他增强功能。
从6.6或更早版本升级
要从6.0-6.6版本直接升级到Elasticsearch 7.5.1,您必须 手动重新索引需要结转的所有5.x索引,并执行完整集群重启。这包括在5.x中创建的所有内部索引,例如.kibana和 .security*索引。
在升级到7.5.1之前,请确保已删除所有5.x索引。如果存在任何5.x索引,Elasticsearch 7.5.1将无法启动。
如果您正在运行6.0之前的版本,请 升级到6.8 并为旧索引重新编制索引,或者调出新的7.5.1群集并 从remote进行重新索引。
建议的路径是先升级到6.8,再升级到7.5.1。这样可以更轻松地确定升级所需进行的更改,并使您无需停机即可执行滚动升级。
升级Elastic 云
只需单击弹性云控制台即可将集群升级到较新版本,增加更多处理能力,更改插件,以及同时启用或禁用高可用性。在升级过程中,Elasticsearch,Kibana,X-Pack和正式包含的插件会同时升级。
尽管升级Elastic Cloud集群很容易,但是您仍然需要解决影响应用程序的重大更改。可以进行次要版本升级,从6.8升级到7.5.1以及所有其他群集配置更改,而无需停机。
为了避免需要重新启动完整集群时的停机时间:
使用新的Elasticsearch版本配置其他集群,重新索引数据,并将索引请求临时发送到两个集群。
验证新群集是否按预期运行,解决所有问题,然后永久交换新群集。
删除旧群集以停止产生额外费用。仅针对新群集与旧群集并行运行的时间计费。使用情况按小时计费。
要了解有关弹性云上升级过程的更多信息,请参阅 升级版本。
Elastic Cloud仅支持升级到发行版本。不支持预览版本和主快照。
亮点
每个版本均带来新功能和产品改进。本节重点介绍7.5.1中值得注意的新功能和增强功能。
- APM
- Beats
- Elasticsearch
- Kibana
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亮点
有关完整列表,请转到Beats发行版亮点。
对于Azure云监控的新模块
通过添加用于Azure监视的Metricbeat 和Filebeat模块,Azure用户现在可以直接从Azure Event Hub和Azure Monitor监视日志和指标,并使用预建的Kibana仪表板来加快分析速度。
基于提示的自动发现心跳增强编辑
在7.5中,作为Uptime解决方案的一部分,我们增强了心跳,使其包括 基于提示的自动发现,这特别适合监视Kubernetes服务的运行状况。
Elasticsearch亮点
此列表总结了Elasticsearch 7.5.1中最重要的增强功能。有关完整列表,请转到Elasticsearch发行要点。
富处理器
添加了新的富摄取处理器,该处理器可以使用来自另一个索引的数据富文本。
SQL中的shape支持
用于geo_shape的SQL功能现在将用于7.3中引入的shape字段类型。
快照生命周期管理保持
有一个新的快照生命周期管理保持,它使您可以通过自定义策略的调度自动删除较旧的快照。
暂停跨群集复制
添加了用于跨群集复制的新的暂停和 恢复 API端点 ,使您可以临时暂停自动跟随模式。
机器学习分类分析
分类分析是一种有监督的机器学习过程,用于预测数据集中给定数据点的类别或类别。例如,它可以确定电子邮件是否为垃圾邮件。与回归分析不同,分类用于预测离散的分类值,而回归分析可以预测连续的数值。7.5.0引入了二进制分类,可以将数据点标记为两个可能的类别。
Kibana亮点
此列表总结了Kibana 7.5.1中最重要的增强功能。
有关重点内容的完整列表,请参见Kibana 7.5版本博客。
Lens(镜头)-一种新的方式来创建可视化(测试版)
Lens是一种简单,直观的可视化数据方式。Lens提供拖放体验,只需单击几下,即可帮助您从数据获取见解。如果您的数据具有更好的可视化效果,Lens会为您提供智能的可视化建议,使您可以在可视化类型之间快速切换。是否要使用其他数据集?使用Lens,您可以直接从UI中选择其他索引模式。请查看我们的文档以获取全部详细信息。
智能查询取消
从7.5开始,如果您导航到另一个页面或在获取结果之前更新查询,则Kibana将应用智能取消策略,从而取消Elasticsearch查询。取消不必要的查询可通过减少不再需要的查询引起的噪音来提高群集性能。
Kibana之外的Canvas工作台
Canvas引入了可共享内容,这是一种从Kibana外部共享信息的新方法。Shareables使我们的社区可以使用代码片段共享静态Canvas工作台。将工作台添加到您的网站后,您可以自定义工作台的行为去自动播放页面。
即时新闻动态
通过Kibana的新闻源,即时了解Elastic的最新动态。您将了解新功能,我们正在撰写的博客,最新的网络研讨会等。
更多的地图增强
GeoJSON上传功能已在7.3中作为Beta发布,现在已在7.5中正式发布。GeoJSON上传功能使向地图添加自定义矢量形状更加容易。请查看Indexing GeoJSON数据教程。
在7.5中,地图还引入了以下新功能:
- 按日期和时间字段设置样式,这对于跟踪时间序列数据并突出显示较旧记录上的新数据很有用。
- 文档排序,以确保您最重要的数据在地图上。
- 一种新的工具提示设计,支持拖放字段排序和图像嵌入。
用于管理API密钥的新界面
我们新的API密钥界面允许集群管理员查看和禁用所有API密钥,而用户则可以查看和使他们自己的无效密钥。当使用自动脚本或与其他软件进行工作流集成时,API密钥特别有用。例如,您可以使用API密钥自动从远程源中提取新数据,而无需实时用户交互。有关更多详细信息,请参见文档。
自动删除快照
现在,通过我们的“ 快照和还原”用户界面创建快照生命周期策略时 ,您可以选择配置保留期。此功能使您能够自动删除快照,从而减少了手动清理的需要,同时仅保留了最相关和最新的快照。例如,您可以定义一个策略,该策略删除30天以上的快照,始终保留最新的五个快照,如果存在的快照超过50个,则删除最旧的快照。有关 完整文档,请参见快照生命周期管理保留。
重大变化
升级之前,您必须查看所使用的每个产品的重大变化并进行必要的变更,以使您的代码与7.5.1兼容。
- APM 7.5.1重大变化
- Beats 7.5.1重大变化
- Elasticsearch 7.5.1重大变化
- Elasticsearch Hadoop 7.5.1重大变化
- Kibana 7.5.1重大变化
- Logstash 7.5.1重大变化
重要提示:
- 如果要从5.n升级,请确保检查从5.n到6.n以及从6.n到7.n的重大改进!
- 如果您使用的机器学习数据馈送包含不连续的搜索或查询域特定语言(DSL),则升级将失败。在5.6.5及更高版本中,升级助手提供有关需要更新哪些数据馈送的信息。
APM 7.5.1重大变化
此列表总结了APM中最重要的重大变化。有关完整列表,请转到APM Server 7.0重大更改。
APM服务器
引入了专用apm-server.ilm.setup.*标志。这意味着您现在可以在APM服务器配置中自定义ILM行为。副作用是,setup.template.*每种事件类型的ILM相关模板的设置将被忽略。有关更多信息,请参见设置ILM。
默认情况下,将不再对ILM策略进行版本控制。所有事件类型都将切换到新的默认策略:30天后或达到50GB大小时进行过渡。有关更多信息,请参见默认策略。
APM
要使用7.5中引入的所有新功能,必须确保使用的是APM Server的7.5+版本和Kibana的7.5+版本。
Beats 7.5.1重大变化
有关完整列表,请转至Beats重大变化。
Elasticsearch 7.5.1重大变化
此列表总结了Elasticsearch 7.5.1中最重要的重大改进。有关完整列表,请转到Elasticsearch重大变化。
Elasticsearch Hadoop 7.5.1重大变化
有关完整列表,请转到 Elasticsearch Hadoop重大变更
Kibana 7.5.1重大变化
此页面列出了Kibana 7.5.1中的重大变化。
courier:batchSearches的默认设置再在是false
详细信息: 更改courier:batchSearches的默认设置,为false意味着搜索请求将使用_search Elasticsearch端点,而不是_msearch。
影响: 仪表板面板将单独加载,并且当用户离开或更新查询时搜索请求将终止。
实验性代码app已被删除
详细信息: 以前默认情况下被禁用的实验代码app已被删除。由于现有的代码实现无法维持,因此我们决定暂时不继续开发该代码app程序。
影响: Kibana启动时,以前启用“代码”app程序的所有安装现在都将记录警告。为了安全删除所有从xpack.code.开始的配置。。从8.0开始,这些警告将变成错误,并阻止Kibana启动。
Logstash 7.5.1重大变化
此列表总结了Logstash 7.5.1中最重要的重大变化。有关完整列表,请转到 Logstash重大更改。
Logstash Core的变化
这些变化可能会影响使用受影响功能的Logstash的任何实例。Logstash Core的变化与插件无关。
默认情况下启用Java执行引擎
默认情况下,新的Java执行引擎是启用的。它具有更快的性能,减少的内存使用量以及更少的配置启动和重新加载时间。
有关更多信息,请参阅有关Java执行引擎的初始发行版的博客文章 。
我们竭尽全力使此更改变得无缝。不过,这是一个很大的变化。如果您发现可能相关的不同行为,请 打开GitHub issiue以告知我们。
Beats符合弹性通用架构(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 选项
输入插件
这是输入插件的重大变化。
Beats输入
- 删除了过时的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选项
Kafka输出
- 删除了过时的block_on_buffer_full选项
- 删除了过时的ssl选项
- 删除了过时的timeout_ms选项
Redis输出
- 删除了过时的queue选项
- 删除了过时的name选项
Sqs 输出
- 删除了过时的batch选项
- 删除了过时的batch_timeout选项
Tcp输出
- 删除了过时的message_format选项