监控 Elastic Agent编辑

Fleet 提供了用于监控您的 Elastic Agent 集群的内置功能。在 Fleet 中,您可以

除非您将其关闭,否则 Agent 监控默认情况下在 Agent 策略中处于开启状态。想要关闭 Agent 监控以停止收集日志和指标?请参阅 更改 Elastic Agent 监控设置

想要在您的 Elastic Agent 健康状况发生变化时收到警报?请参阅 基于 Fleet 和 Elastic Agent 状态设置警报和 ML 作业 以及我们的 警报示例

有关 Agent 如何将其状态传达给 Fleet 的更多详细信息,请参阅 Elastic Agent 健康状况

查看 Agent 状态概述编辑

要查看 Fleet 管理的 Agent 的总体状态,请在 Kibana 中转到 管理 → Fleet → Agent

Agents tab showing status of each Elastic Agent

Elastic Agent 可以具有以下状态

健康

Elastic Agent 已注册并已签入。没有正在进行的 Agent 策略更新或自动 Agent 二进制文件更新,但 Agent 二进制文件可能仍然过时。Elastic Agent 不断签入 Fleet Server 以获取所需的更新。

不健康

Elastic Agent 未签入 Fleet Server。此时,您可能需要解决此问题。

更新中

Elastic Agent 正在更新 Agent 策略、更新二进制文件或注册或注销 Fleet。

离线

Elastic Agent 已在不健康状态下停留了一段时间。离线 Agent 的 API 密钥仍然有效。您仍然可以在 Fleet UI 中看到这些 Elastic Agent,并在需要时对其进行进一步诊断。

不活跃

Elastic Agent 已离线时间超过您在 不活动超时 中设置的时间。这些 Elastic Agent 有效,但已从主 Fleet UI 中删除。

未注册

Elastic Agent 已手动注销,其 API 密钥已从系统中删除。如果您确定某个 Elastic Agent 处于离线状态且不再有效,则可以使用 Elastic Agent 操作 注销 离线 Elastic Agent。

这些 Agent 需要重新注册到 Fleet 才能再次运行。

下图显示了 Elastic Agent 状态的流程

Diagram showing the flow of Fleet Agent statuses

要按状态筛选 Agent 列表,请单击 状态 下拉菜单并选择一个或多个状态。

Agent Status dropdown with multiple statuses selected

对于高级筛选,请使用搜索栏使用 Kibana 查询语言 创建结构化查询。例如,输入 local_metadata.os.family : "darwin" 以仅查看在 macOS 上运行的 Agent。

查看 Agent 的详细信息编辑

在 Fleet 中,您可以通过 Agent 策略访问单个 Agent 的详细状态及其关联的集成。

  1. 在 Fleet 中,打开 Agent 选项卡。
  2. 主机 列中,单击 Agent 的名称。

Agent 详细信息 选项卡上,概述 窗格显示有关 Agent 及其性能的详细信息,包括其内存和 CPU 使用率、上次活动时间和上次签入消息。要访问指标可视化,您还可以 查看 Elastic Agent 指标仪表盘

Agent details overview pane with various metrics

集成 窗格显示已添加到 Agent 策略的集成的状态。展开任何集成以查看其健康状况。任何错误或警告都将显示为警报。

Agent details integrations pane with health status

要收集有关特定错误或警告的更多详细信息,请从 操作 菜单中选择 查看 Agent JSON。JSON 包含 Fleet 跟踪的所有原始 Agent 数据。

目前,集成 窗格仅显示 Agent 输入的健康状况。Agent 输出的健康状况尚不可用。

查看 Agent 活动编辑

您可以查看 Elastic Agent 执行的所有操作的按时间顺序排列的列表。

Agent 选项卡上,单击 Agent 活动。将显示所有 Agent 操作,从最新的操作开始,包括任何正在进行的操作。

Agent activity panel

查看 Agent 日志编辑

当 Fleet 报告 Agent 状态(如 离线不健康)时,您可能需要查看 Agent 日志以诊断潜在原因。如果 Agent 监控配置为收集日志(默认设置),则可以在 Fleet 中查看 Agent 日志。

  1. 在 Fleet 中,打开 Agent 选项卡。
  2. 主机 列中,单击 Agent 的名称。
  3. Agent 详细信息 选项卡上,验证 监控日志 是否已启用。如果没有,请参阅 更改 Elastic Agent 监控设置
  4. 单击 日志 选项卡。

    View agent logs under agent details

日志 选项卡上,您可以筛选、搜索和浏览 Agent 日志

  • 使用搜索栏使用 Kibana 查询语言 创建结构化查询。
  • 选择一个或多个数据集以显示特定程序(如 Filebeat 或 Fleet Server)的日志。

    Fleet showing datasets for logging
  • 更改日志级别以按日志级别筛选视图。想要查看调试日志?请参阅 更改日志级别
  • 更改时间范围以查看历史日志。
  • 单击 在日志中打开 以实时跟踪 Agent 日志文件。有关日志记录的更多信息,请参阅 跟踪日志文件

更改日志级别编辑

受监控 Agent 的日志级别默认设置为 info。您可以更改 Agent 日志级别,例如,远程启用调试日志记录

  1. 在按照 查看 Agent 日志 中的说明导航到 日志 选项卡后,向下滚动以找到 Agent 日志级别 设置。

    {Logs} tab showing the agent logging level setting
  2. 选择一个 Agent 日志级别

    错误

    记录错误和严重错误。

    警告

    记录警告、错误和严重错误。

    信息

    记录信息消息,包括已发布的事件数量。还会记录任何警告、错误或严重错误。

    调试

    记录调试消息,包括所有已刷新事件的详细打印输出。还会记录信息消息、警告、错误和严重错误。

  3. 单击 应用更改 以将更新的日志级别应用于 Agent。

收集 Elastic Agent 诊断信息编辑

Fleet 提供了远程生成和收集 Elastic Agent 诊断包的功能。如果 Agent 处于 健康不健康 状态且在线,则可以收集和上传诊断信息。要下载诊断包以供本地查看

  1. 在 Fleet 中,打开 Agent 选项卡。
  2. 主机 列中,单击 Agent 的名称。
  3. 单击 诊断信息 选项卡。
  4. 单击 请求诊断信息 .zip 按钮。

    Collect agent diagnostics under agent details

此页面将列出 Elastic Agent 的任何正在进行的或以前收集的包。

请注意,这些包存储在 Elasticsearch 中,将在 30 天后删除。

查看 Elastic Agent 指标仪表盘编辑

当 Agent 监控配置为收集指标(默认设置)时,您可以使用 Kibana 中的 [Elastic Agent] Agent 指标 仪表盘查看有关 Elastic Agent 资源使用情况、事件吞吐量和错误的详细信息。此信息可以帮助您识别问题并做出有关扩展部署的决策。

要查看 Agent 指标

  1. 在 Fleet 中,打开 Agent 选项卡。
  2. 主机 列中,单击 Agent 的名称。
  3. Agent 详细信息 选项卡上,验证 监控指标 是否已启用。如果没有,请参阅 更改 Elastic Agent 监控设置
  4. 单击 查看更多 Agent 指标 以导航到 [Elastic Agent] Agent 指标 仪表盘。

    Screen capture showing Elastic Agent metrics

该仪表盘使用标准 Kibana 可视化,您可以将其扩展以满足您的需求。

更改 Elastic Agent 监控设置编辑

Agent 监控默认情况下在 Agent 策略中处于开启状态。要更改注册到特定 Agent 策略的所有 Agent 的 Agent 监控设置

  1. 在 Fleet 中,打开 Agent 策略 选项卡。
  2. 单击 Agent 策略以对其进行编辑,然后单击 设置
  3. Agent 监控 下,取消选中(或选中)以下两个设置之一或两者:收集 Agent 日志收集 Agent 指标
  4. 保存您的更改。

要创建新的 Agent 策略时关闭 Agent 监控

  1. 创建 Agent 策略 侧边栏中,展开 高级选项
  2. 代理监控 下,取消选中 收集代理日志收集代理指标
  3. 完成代理策略配置后,点击 创建代理策略

将 Elastic Agent 监控数据发送到远程 Elasticsearch 集群编辑

您可能希望将所有关于 Elastic Agent 的健康和状态数据存储在远程 Elasticsearch 集群中,以便它与您使用 Fleet 管理代理的部署分开且独立。

为此,请按照 远程 Elasticsearch 输出 中的步骤操作。配置好新的输出后,请按照步骤更新 Elastic Agent 策略,并确保 代理监控的输出 设置已启用。Elastic Agent 监控数据将使用您配置的远程 Elasticsearch 输出。

根据 Fleet 和 Elastic Agent 状态设置警报和 ML 作业编辑

您可以通过内部 Fleet 索引访问 Fleet 管理的 Elastic Agent 的健康状态和其他 Fleet 设置。这使您能够利用 Elastic Stack 中的各种应用程序,这些应用程序可以由提供的信息触发。例如,您现在可以根据这些特定字段创建警报和机器学习 (ML) 作业。请参阅 警报文档 或查看本页面的 示例,了解如何定义在满足特定条件时可以触发操作的规则。

此功能使您能够有效地跟踪代理的状态,并识别代理脱机、遇到健康问题或面临输入或输出相关挑战的情况。

以下数据流和字段可用。

数据流

metrics-fleet_server.agent_status-default

此数据流发布处于各种状态的 Elastic Agent 的数量。

字段

  • @timestamp
  • fleet.agents.total - 所有代理的计数
  • fleet.agents.enrolled - 当前已注册的所有代理的计数
  • fleet.agents.unenrolled - 当前未注册的代理的计数
  • fleet.agents.healthy - 当前健康的代理的计数
  • fleet.agents.offline - 当前脱机的代理的计数
  • fleet.agents.updating - 当前正在更新的代理的计数
  • fleet.agents.unhealthy - 当前不健康的代理的计数
  • fleet.agents.inactive - 当前处于非活动状态的代理的计数

其他有关代理状态的字段(基于输入和输出健康状况)目前正在考虑用于未来的开发。

数据流

metrics-fleet_server.agent_versions-default

此索引为每个版本号发布一个单独的文档,以及仅已注册代理的计数。

字段

  • @timestamp
  • fleet.agent.version - 包含版本号的关键字字段
  • fleet.agent.count - 指定版本上的代理计数
示例:为脱机 Elastic Agent 设置警报编辑

您可以设置警报,以便在有一个或多个 Elastic Agent 脱机时通知您。

  1. 在 Kibana 中,导航到 管理 > 堆栈管理 > 规则
  2. 点击 创建规则
  3. 选择 Elasticsearch 查询 作为规则类型。
  4. 为规则选择一个名称,例如 Elastic Agent 状态
  5. 选择 KQL 或 Lucene 作为查询类型。
  6. 选择 DATA VIEW metrics-* 作为数据视图。
  7. 定义您的查询,例如:fleet.agents.offline >= 1
  8. 设置警报组、阈值和时间窗口。例如

    • WHEN: count()
    • OVER: all documents
    • IS ABOVE: 0
    • FOR THE LAST 5 minutes

      这将在过去五分钟内,fleet.agents.offline 字段报告有一个或多个代理脱机时生成警报。

  9. 设置要发送的文档数量,例如

    • SIZE: 100
  10. 每隔 设置为应评估规则条件的频率。默认设置为一分钟。
  11. 选择在满足规则条件时发生的事件。例如,要将警报设置为在发生警报时发送电子邮件,请选择电子邮件连接器类型并指定

    • 电子邮件连接器:Elastic-Cloud-SMPT
    • 操作频率:对于每个警报在检查间隔
    • 运行时间:查询匹配
    • 收件人:<收件人电子邮件地址>
    • 主题:<电子邮件主题行>
  12. 点击 保存

新规则将被启用,并在满足警报条件时向指定的收件人发送电子邮件。

规则 页面,您可以选择您创建的规则来启用或禁用它,并查看规则详细信息,包括活动警报列表和警报历史记录。

A screen capture showing the details for the new Elastic Agent status rule