升级由 Fleet 管理的 Elastic Agent
编辑升级由 Fleet 管理的 Elastic Agent
编辑想要升级独立的 Agent 吗?请参阅 升级独立的 Elastic Agent。
通过 Fleet 的升级功能,您可以查看并选择过期的 Agent,并触发选定的 Agent 下载、安装和运行新版本。您可以触发立即升级,或指定升级发生的维护窗口。如果您的 Elastic Stack 订阅级别支持,您可以安排在特定日期和时间进行升级。
在大多数失败情况下,Elastic Agent 可能会在短暂等待后重试升级。重试之间的等待时长为:1 分钟、5 分钟、10 分钟、15 分钟、30 分钟和 1 小时。在此期间,Elastic Agent 在 Fleet UI 中可能显示为“正在重试”。此外,如果检测到 Agent 升级停滞,您可以为单个 Agent重新启动升级过程,或为多个 Agent批量重新启动升级过程。
这种方法简化了保持 Agent 更新的过程。它还为您节省了时间,因为您不需要第三方工具或流程来管理升级。
默认情况下,Elastic Agent 需要 Internet 访问才能从 Fleet 执行二进制升级。但是,您可以托管自己的工件存储库,并配置 Elastic Agent 从该存储库下载二进制文件。有关更多信息,请参阅气隙环境。
升级功能不支持升级 DEB/RPM 包或 Docker 镜像。请参阅升级 RPM 和 DEB 系统包以手动升级 DEB 或 RPM 包。
有关 Elastic Agent 升级过程以及 Fleet、Elastic Agent 和 Elasticsearch 之间交互的详细视图,请参阅 elastic-agent
GitHub 存储库中的组件之间的通信图。
限制
编辑请注意升级 Elastic Agent 的以下限制
- Elastic Agent 不能升级到高于当前安装的最高版本的 Fleet Server 的版本。当您升级一组当前版本相同的 Elastic Agent 时,您应该首先升级充当 Fleet Server 的任何 Agent(任何与 Fleet Server 策略关联的 Agent)。
- 要可升级,Elastic Agent 必须不在容器内运行。
- 要在 Linux 环境中可升级,Elastic Agent 必须作为服务运行。Fleet 中提供的 Elastic Agent 的 Linux Tar 安装说明包括将其作为服务运行的命令。无法通过 Fleet 升级 Elastic Agent RPM 和 DEB 系统包。
这些限制适用于您单独升级还是批量升级 Elastic Agent。如果升级不符合条件,Fleet 会在您尝试升级时生成警告消息。
升级 Elastic Agent
编辑要升级 Elastic Agent,请在 Kibana 中转到 管理 > Fleet > Agent。您可以执行以下与升级相关的操作
用户操作 | 结果 |
---|---|
将单个 Agent 升级到特定版本。 |
|
在特定时间段内对多个 Agent 执行滚动升级。 |
|
计划一个或多个 Agent 在特定时间开始升级。 |
|
查看 Agent 升级的详细状态,包括升级指标和 Agent 日志。 |
|
重新启动已停滞的单个 Agent 的升级过程。 |
|
对一组 Agent 执行升级过程的批量重新启动。 |
升级单个 Elastic Agent
编辑-
在Agent选项卡上,可以升级的 Agent 会用有可用升级指示符标识。
您还可以单击有可用升级按钮,以将 Agent 列表过滤为仅当前可以升级的 Agent。
-
从 Agent 旁边的操作菜单中,选择升级 Agent。
-
在“升级 Agent”窗口中,选择或指定升级版本,然后单击升级 Agent。
在某些情况下,Kibana 可能无法识别最新的可用 Elastic Agent 版本。例如,当 Kibana 版本低于 Elastic Agent 版本时会发生这种情况。您可以通过在升级版本文本字段中输入版本来为 Elastic Agent 指定要升级到的自定义版本。
对多个 Elastic Agent 执行滚动升级
编辑您可以执行滚动升级,以避免在更新大量 Elastic Agent 时耗尽网络资源。
- 在Agent选项卡上,选择多个 Agent,然后单击操作。
- 从操作菜单中,选择升级 Agent。
- 在“升级 Agent”窗口中,选择一个升级版本。
-
选择维护窗口的可用时间。升级会在该维护窗口中均匀分布,以避免耗尽网络资源。
要强制选定的 Agent 在触发升级时立即升级,请选择立即。对于超过 10 个 Agent 的批处理,请避免使用此设置。
- 升级 Agent。
计划升级
编辑- 在Agent选项卡上,选择一个或多个 Agent,然后单击操作。
-
从操作菜单中,选择计划升级。
如果计划选项灰显,则您的订阅级别可能无法使用该选项。有关更多信息,请参阅Elastic Stack 订阅。
- 在“升级”窗口中,选择一个升级版本。
- 选择维护窗口。有关更多信息,请参阅对多个 Elastic Agent 执行滚动升级。
- 设置您希望升级开始的日期和时间。
- 单击计划。
查看升级状态
编辑在“Agent”选项卡上,当您触发升级时,正在升级的 Agent 的状态为正在更新
,直到升级完成,然后状态将变回正常
。
版本为 8.12 及更高版本的当前正在升级的 Agent 还会显示详细的升级状态指示器。
下表按它们可能发生的顺序说明了升级状态。
表 6. Elastic Agent 升级状态
状态 | 描述 |
---|---|
已请求升级 |
Elastic Agent 已收到来自 Fleet 的升级通知。 |
已计划升级 |
Elastic Agent 已收到来自 Fleet 的升级通知,升级将在指示的时间开始。 |
正在下载升级 |
Elastic Agent 正在下载包含新版本工件的归档文件。 |
正在提取升级 |
Elastic Agent 正在从下载的归档文件中提取新版本工件。 |
正在替换升级 |
Elastic Agent 当前正在将之前的、升级前的 Agent 工件替换为新的工件。 |
正在重新启动升级 |
Elastic Agent 已被新版本替换,现在正在重新启动以应用更新。 |
正在监视升级 |
新升级的 Elastic Agent 已启动,并且正在监视错误。 |
升级已回滚 |
升级不成功。Elastic Agent 正在回滚到之前的、升级前的版本。 |
升级失败 |
在新升级的 Elastic Agent 中检测到错误,并且尝试将升级回滚到先前版本失败。 |
在例行情况下,Elastic Agent 升级会快速发生。您通常不会看到 Agent 经历每个升级状态。详细的升级状态可能是一个非常有用的工具,特别是当您需要诊断可能在升级过程中卡住或只是看起来卡住的 Agent 的状态时。
在升级状态指示器旁边,您可以将光标悬停在信息图标上,以获取有关升级的更多详细信息。
请注意,当您从低于 8.12 的版本升级 Agent 时,不提供升级详细信息。
升级多个 Agent 时,您可以通过查看有关升级的统计信息和指标来微调维护窗口
- 在Agent选项卡上,单击主机名以查看 Agent 详细信息。如果您没有看到主机名,请尝试刷新页面。
- 单击查看更多 Agent 指标以打开[Elastic Agent] Agent 指标仪表板。
如果升级似乎已停滞,您可以重新启动它。
如果升级失败,您可以查看 Agent 日志以查找原因
- 在 Fleet 中,在“主机”列中,单击代理的名称。
- 打开 日志 选项卡。
-
搜索失败。
重启单个代理的升级
编辑Elastic Agent 升级过程有时可能会停滞。发生这种情况的原因有很多,例如,网络连接问题或延迟关闭。
当检测到 Elastic Agent 升级卡住时,UI 上会出现警告指示器。发生这种情况时,您可以从主 Fleet 页面上的 代理 选项卡或任何单个代理的详细信息页面重启升级。
请注意,重启尝试之间需要 10 分钟的冷却时间。启动重启操作后,您需要等待冷却时间完成才能启动另一次重启。
从主 Fleet 页面重启
- 在状态为
正在更新
的代理旁边的 操作 菜单中,选择 重启升级。 - 在 重启升级 窗口中,选择一个升级版本,然后单击 升级代理。
从代理详细信息页面重启
- 在 Fleet 中,在 主机 列中,单击代理的名称。在 代理详细信息 选项卡上,如果检测到代理在升级期间停滞,则会显示警告通知。
- 单击 重启升级。
- 在 重启升级 窗口中,选择一个升级版本,然后单击 升级代理。
重启多个代理的升级
编辑当检测到多个代理的升级过程停滞时,您可以批量重启升级过程。与重启单个代理的升级一样,重启之间强制执行 10 分钟的冷却时间。
- 在 代理 选项卡上,选择任意一组指示为卡住的代理,然后单击 操作。
- 从 操作 菜单中,选择 重启升级 <数字> 个代理。
- 在 重启升级… 窗口中,选择一个升级版本。
-
选择维护窗口的可用时间。升级会在该维护窗口中均匀分布,以避免耗尽网络资源。
要强制选定的 Agent 在触发升级时立即升级,请选择立即。对于超过 10 个 Agent 的批处理,请避免使用此设置。
- 重启升级。
升级 RPM 和 DEB 系统软件包
编辑如果您使用 DEB(适用于基于 Debian 的 Linux 发行版)或 RPM(适用于基于 RedHat 的 Linux 发行版)安装包安装和注册了 Elastic Agent,则升级无法由 Fleet 管理。相反,您可以按照以下步骤执行升级。
有关安装步骤,请参阅安装 Fleet 管理的 Elastic Agent。
升级 DEB Elastic Agent 安装
编辑-
下载要升级到的版本的 Elastic Agent Debian 安装包
curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.17.0-amd64.deb
-
将 Elastic Agent 升级到目标版本
sudo dpkg -i elastic-agent-8.17.0-amd64.deb
- 在 Fleet 中确认代理已升级到目标版本。请注意,代理旁边 操作 菜单中的 升级代理 选项将被禁用,因为此软件包类型不支持 [fleet] 管理的升级。
升级 RPM Elastic Agent 安装
编辑-
下载要升级到的版本的 Elastic Agent RPM 安装包
curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.17.0-x86_64.rpm
-
将 Elastic Agent 升级到目标版本
sudo rpm -U elastic-agent-8.17.0-x86_64.rpm
- 在 Fleet 中确认代理已升级到目标版本。请注意,代理旁边 操作 菜单中的 升级代理 选项将被禁用,因为此软件包类型不支持 [fleet] 管理的升级。