升级 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 镜像。

有关 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 安装说明包括将其作为服务运行的命令。Elastic Agent RPM 和 DEB 系统软件包无法通过 Fleet 升级。

无论您是单独升级 Elastic Agent 还是批量升级,这些限制都适用。如果升级不符合条件,Fleet 会在您尝试升级时生成警告消息。

升级 Elastic Agent编辑

要升级您的 Elastic Agent,请转到 Kibana 中的管理 > Fleet > Agent。您可以执行以下与升级相关的操作

用户操作 结果

升级单个 Elastic Agent

将单个 Agent 升级到特定版本。

对多个 Elastic Agent 进行滚动升级

在特定时间段内对多个 Agent 进行滚动升级。

安排升级

安排一个或多个 Agent 在特定时间开始升级。

查看升级状态

查看 Agent 升级的详细状态,包括升级指标和 Agent 日志。

重新启动单个 Agent 的升级

重新启动已停止的单个 Agent 的升级过程。

重新启动多个 Agent 的升级

对一组 Agent 进行批量重新启动升级过程。

升级单个 Elastic Agent编辑
  1. Agent选项卡上,可以使用升级可用指示器识别可以升级的 Agent。

    Indicator on the UI showing that the agent can be upgraded

    您还可以单击升级可用按钮将 Agent 列表过滤为当前可以升级的 Agent。

  2. 从 Agent 旁边的操作菜单中,选择升级 Agent

    Menu for upgrading a single Elastic Agent
  3. 在“升级 Agent”窗口中,选择或指定升级版本,然后单击升级 Agent

    在某些情况下,Kibana 可能无法识别最新的可用 Elastic Agent 版本。例如,当 Kibana 版本低于 Elastic Agent 版本时,就会发生这种情况。您可以通过在升级版本文本字段中输入版本来指定 Elastic Agent 要升级到的自定义版本。

    Menu for upgrading a single Elastic Agent
对多个 Elastic Agent 进行滚动升级编辑

您可以进行滚动升级,以避免在更新大量 Elastic Agent 时耗尽网络资源。

  1. Agent选项卡上,选择多个 Agent,然后单击操作
  2. 操作菜单中,选择升级 Agent。
  3. 在“升级 Agent”窗口中,选择升级版本。
  4. 选择维护窗口的可用时间。升级将在此维护窗口中均匀分布,以避免耗尽网络资源。

    要强制所选 Agent 在触发升级时立即升级,请选择立即。避免对超过 10 个 Agent 的批次使用此设置。

  5. 升级 Agent。
安排升级编辑
  1. Agent选项卡上,选择一个或多个 Agent,然后单击操作
  2. 操作菜单中,选择安排升级。

    Menu for scheduling Elastic Agent upgrades

    如果“安排”选项灰显,则表示您的订阅级别可能不可用。有关更多信息,请参阅Elastic Stack 订阅

  3. 在“升级”窗口中,选择升级版本。
  4. 选择维护窗口。有关更多信息,请参阅对多个 Elastic Agent 进行滚动升级
  5. 设置您希望升级开始的日期和时间。
  6. 单击安排
查看升级状态编辑

在“Agent”选项卡上,当您触发升级时,正在升级的 Agent 的状态为正在更新,直到升级完成,然后状态变回正常

当前正在升级的 8.12 及更高版本的 Agent 还会显示详细的升级状态指示器。

Detailed state of an upgrading agent

下表按可能出现的顺序解释了升级状态。

表 3. 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 的状态时。

在升级状态指示器旁边,您可以将光标悬停在信息图标上以获取有关升级的更多详细信息。

Granular upgrade details shown as hover text (agent has requested an upgrade)
Granular upgrade details shown as hover text (agent is restarting to apply the update)

请注意,当您从低于 8.12 的版本升级 Agent 时,不会提供升级详细信息。

An earlier release agent showing only the updating state without additional details

升级许多 Agent 时,您可以通过查看有关升级的统计信息和指标来微调维护窗口

  1. Agent选项卡上,单击主机名以查看 Agent 详细信息。如果您没有看到主机名,请尝试刷新页面。
  2. 单击查看更多 Agent 指标以打开[Elastic Agent] Agent 指标仪表板。

如果升级似乎已停止,您可以重新启动它

如果升级失败,您可以查看 Agent 日志以查找原因

  1. 在 Fleet 中,“主机”列中,单击 Agent 的名称。
  2. 打开日志选项卡。
  3. 搜索失败。

    Agent logs showing upgrade failure
重启单个代理的升级编辑

Elastic Agent 升级过程有时可能会停滞。这可能是由各种原因造成的,例如网络连接问题或延迟关闭。

当检测到 Elastic Agent 升级卡住时,UI 上会出现警告指示器。发生这种情况时,您可以从 Fleet 主页上的代理选项卡或任何单个代理的详细信息页面重新启动升级。

请注意,重启尝试之间需要 10 分钟的冷却时间。启动重启操作后,您需要等待冷却时间结束后才能启动另一次重启。

从 Fleet 主页重启

  1. 在处于正在更新状态的代理旁边的操作菜单中,选择重启升级
  2. 重启升级窗口中,选择升级版本,然后单击升级代理

从代理详细信息页面重启

  1. 在 Fleet 的主机列中,单击代理的名称。在代理详细信息选项卡上,如果检测到代理在升级过程中停滞,则会出现警告通知。
  2. 单击重启升级
  3. 重启升级窗口中,选择升级版本,然后单击升级代理
重启多个代理的升级编辑

当检测到多个代理的升级过程已停滞时,您可以批量重启升级过程。与重启单个代理的升级一样,重启之间强制执行 10 分钟的冷却时间。

  1. 代理选项卡上,选择指示为卡住的任何一组代理,然后单击操作
  2. 操作菜单中,选择重启升级 <数量> 个代理
  3. 重启升级…​窗口中,选择升级版本。
  4. 选择维护窗口的可用时间。升级将在此维护窗口中均匀分布,以避免耗尽网络资源。

    要强制所选 Agent 在触发升级时立即升级,请选择立即。避免对超过 10 个 Agent 的批次使用此设置。

  5. 重启升级。