监控 Elastic Agents
Fleet 提供了内置功能来监控您的 Elastic Agent 机群。在 Fleet 中,您可以
- 查看 Agent 状态概览
- 查看 Agent 详情
- 查看 Agent 活动
- 查看 Agent 日志
- 更改日志记录级别
- 收集 Elastic Agent 诊断信息
- 查看 Elastic Agent 指标仪表板
- 更改 Elastic Agent 监控设置
- 将 Elastic Agent 监控数据发送到远程 Elasticsearch 集群
- 根据 Fleet 和 Elastic Agent 状态启用警报和 ML 作业
Agent 监控默认在 agent 策略中开启,除非您将其关闭。想要关闭 agent 监控以停止收集日志和指标吗?请参阅更改 Elastic Agent 监控设置。
想要在 Elastic Agent 健康状态发生变化时接收警报吗?请参阅根据 Fleet 和 Elastic Agent 状态启用警报和 ML 作业以及我们的警报示例。
有关 Agent 如何向 Fleet 通信其状态的更多详情,请参阅Elastic Agent 健康状态。
要查看您的 Fleet 管理的 Agent 的总体状态,在 Kibana 中,转至管理 → Fleet → Agent。

Fleet 中的 Agent 选项卡最多显示 10,000 个 Agent,分布在 500 页上,每页 20 行。如果您有超过 10,000 个 Agent,我们建议使用本节中描述的过滤和排序选项将表格缩小到少于 10,000 行。
Elastic Agent 可以具有以下状态
健康 | Elastic Agent 已注册并签入。没有 agent 策略更新或自动 agent 二进制文件更新正在进行,但 agent 二进制文件可能仍然过时。Elastic Agent 会持续向 Fleet Server 签入以获取所需的更新。 |
不健康 | Elastic Agent 有错误或正在以退化状态运行。Agent 由于主机系统上的配置问题而被报告为 unhealthy 。例如,Elastic Agent 可能没有运行已添加到 Elastic Agent 策略的集成所需的正确权限。在这种情况下,您可能需要调查并解决此问题。 |
更新中 | 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 操作注销它。 这些 Agent 需要在 Fleet 中重新注册才能再次运行。 |
以下图表显示了 Elastic Agent 状态的流程

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

对于高级过滤,请使用搜索栏使用Kibana 查询语言创建结构化查询。例如,输入 local_metadata.os.family : "darwin"
即可仅查看在 macOS 上运行的 Agent。
您也可以通过单击这些字段的表格标题来按主机、上次活动时间或版本对 Agent 列表进行排序。
要对超过 10,000 个 Agent 执行批量操作,您可以选择选择所有页上的所有内容按钮。
在 Fleet 中,您可以通过 agent 策略访问单个 Agent 的详细状态及其关联的集成。
- 在 Fleet 中,打开Agent 选项卡。
- 在主机列中,单击 Agent 的名称。
在Agent 详情选项卡上,概览面板显示有关 Agent 及其性能的详细信息,包括其内存和 CPU 使用率、上次活动时间和上次签入消息。要访问指标可视化,您还可以查看 Elastic Agent 指标仪表板。

集成面板显示已添加到 agent 策略的集成的状态。展开任何集成可查看其健康状态。任何错误或警告都会显示为警报。

要获取有关特定错误或警告的更多详细信息,请从操作菜单中选择查看 Agent JSON。该 JSON 包含 Fleet 跟踪的所有原始 Agent 数据。
目前,集成面板仅显示 agent 输入的健康状态。agent 输出的健康状态尚不可用。
您可以查看 Elastic Agent 执行的所有操作的时间顺序列表。
在Agent 选项卡上,单击Agent 活动。显示所有 agent 操作,从最新操作开始,包括任何正在进行的操作。

当 Fleet 报告 agent 状态为 Offline
或 Unhealthy
时,您可能需要查看 agent 日志以诊断潜在原因。如果 agent 监控配置为收集日志(默认设置),您可以在 Fleet 中查看 agent 日志。
在 Fleet 中,打开Agent 选项卡。
在主机列中,单击 Agent 的名称。
在Agent 详情选项卡上,验证是否已启用监控日志。如果未启用,请参阅更改 Elastic Agent 监控设置。
单击日志选项卡。
在日志选项卡上,您可以过滤、搜索和浏览 agent 日志
使用搜索栏使用Kibana 查询语言创建结构化查询。
选择一个或多个数据集以显示特定程序(例如 Filebeat 或 Fleet Server)的日志。
更改日志记录级别以按日志级别过滤视图。想要查看调试日志吗?请参阅更改日志记录级别。
更改时间范围以查看历史日志。
监控 agent 的日志记录级别默认设置为 info
。您可以更改 agent 日志记录级别,例如,远程开启调试日志记录
在 Fleet 中,打开Agent 选项卡。
在主机列中,单击 Agent 的名称。
在设置选项卡上,选择Agent 日志记录级别
error
记录错误和严重错误。 warning
记录警告、错误和严重错误。 info
记录信息消息,包括已发布事件的数量。还记录任何警告、错误或严重错误。 debug
记录调试消息,包括所有刷新事件的详细打印输出。还记录信息消息、警告、错误和严重错误。 注意在版本 9.1 之前,Agent 日志记录级别设置位于日志选项卡上。
选择新设置后,更改会自动保存。
Fleet 提供了远程生成和收集 Elastic Agent 诊断包的功能。Agent 可以在处于 Healthy
或 Unhealthy
状态且在线时收集和上传诊断信息。要下载诊断包进行本地查看
在 Fleet 中,打开Agent 选项卡。
在主机列中,单击 Agent 的名称。
选择诊断选项卡,然后单击请求诊断 .zip 按钮。
在请求诊断弹出窗口中,如果您想要详细的 CPU 数据,请选择收集其他 CPU 指标。
单击请求诊断按钮。
可用时,新的诊断包将在此页面上列出,同时还会列出 Elastic Agent 的任何正在进行或以前收集的诊断包。
请注意,这些包存储在 Elasticsearch 中,并在 7 天后自动移除。您也可以通过单击 trash can
图标删除任何以前创建的包。
当 agent 监控配置为收集指标(默认设置)时,您可以在 Kibana 中使用 [Elastic Agent] Agent 指标仪表板来查看有关 Elastic Agent 资源使用率、事件吞吐量和错误的详细信息。此信息可以帮助您识别问题并就扩展部署做出决策。
查看 agent 指标
在 Fleet 中,打开Agent 选项卡。
在主机列中,单击 Agent 的名称。
在Agent 详情选项卡上,验证是否已启用监控指标。如果未启用,请参阅更改 Elastic Agent 监控设置。
单击查看更多 Agent 指标以导航到 [Elastic Agent] Agent 指标仪表板。
该仪表板使用标准的 Kibana 可视化,您可以对其进行扩展以满足您的需求。
Agent 监控默认在 agent 策略中开启。要更改特定 agent 策略中所有已注册 agent 的 agent 监控设置
- 在 Fleet 中,打开Agent 策略选项卡。
- 单击 agent 策略进行编辑,然后单击设置。
- 在Agent 监控下,取消选择(或选择)以下一项或两项设置:收集 agent 日志和收集 agent 指标。
- 在高级监控选项下,您可以配置其他设置,包括 HTTP 监控端点、诊断限速和诊断文件上传限制。有关详情,请参阅配置 agent 监控。
- 保存您的更改。
在创建新的 agent 策略时关闭 agent 监控
- 在创建 agent 策略弹出窗口中,展开高级选项。
- 在Agent 监控下,取消选择收集 agent 日志和收集 agent 指标。
- 完成 agent 策略配置后,单击创建 agent 策略。
您可能希望将有关 Elastic Agent 的所有健康和状态数据存储在远程 Elasticsearch 集群中,以便它与您使用 Fleet 管理 agent 的部署分开且独立。
为此,请按照远程 Elasticsearch 输出中的步骤操作。配置新输出后,按照步骤更新 Elastic Agent 策略并确保已启用Agent 监控输出设置。Elastic Agent 监控数据将使用您配置的远程 Elasticsearch 输出。
您可以通过内部 Fleet 索引访问 Fleet 管理的 Elastic Agent 的健康状态和其他 Fleet 设置。这使您能够利用 Elastic Stack 中的各种应用程序,这些应用程序可以由提供的信息触发。例如,您现在可以基于这些特定字段创建警报和机器学习 (ML) 作业。请参阅警报文档或查看本页上的示例,了解如何定义可在满足特定条件时触发操作的规则。
此功能使您能够有效跟踪 agent 的状态,并识别其离线、出现健康问题或面临与输入或输出相关的挑战的场景。
以下数据流和字段可用。
- 数据流
-
metrics-fleet_server.agent_status-default
此数据流发布处于各种状态的 Elastic Agent 的数量。
字段
@timestamp
fleet.agents.total
- 所有 agent 的计数fleet.agents.enrolled
- 所有当前已注册 agent 的计数fleet.agents.unenrolled
- 所有当前已注销 agent 的计数fleet.agents.healthy
- 所有当前健康 agent 的计数fleet.agents.offline
- 所有当前离线 agent 的计数fleet.agents.updating
- 所有当前正在更新的 agent 的计数fleet.agents.unhealthy
- 所有当前不健康 agent 的计数fleet.agents.inactive
- 所有当前非活动 agent 的计数
注意其他有关 agent 状态的字段(基于输入和输出健康状况)目前正在考虑中,以供未来开发。
- 数据流
-
metrics-fleet_server.agent_versions-default
此索引为每个版本号发布一个单独的文档,并且仅包含已注册 agent 的计数。
字段
@timestamp
fleet.agent.version
- 包含版本号的关键字字段fleet.agent.count
- 指定版本上的 agent 数量
您可以设置警报,以便在一个或多个 Elastic Agent 离线时收到通知
在 Kibana 中,导航到管理 > 堆栈管理 > 规则。
单击创建规则。
选择Elasticsearch query 作为规则类型。
为规则选择一个名称,例如
Elastic Agent status
。选择KQL 或 Lucene 作为查询类型。
选择
DATA VIEW metrics-*
作为数据视图。定义您的查询,例如:
fleet.agents.offline >= 1
。设置警报组、阈值和时间窗口。例如
WHEN:
count()
OVER:
all documents
IS ABOVE:
0
FOR THE LAST
5 minutes
当
fleet.agents.offline
字段在过去五分钟内报告有一个或多个 agent 离线时,这将生成警报。
设置要发送的文档数量,例如
- SIZE: 100
将检查间隔设置为评估规则条件的频率。默认设置为一分钟。
选择在满足规则条件时要执行的操作。例如,要设置警报在发生时发送电子邮件,请选择电子邮件连接器类型并指定
- 电子邮件连接器:
Elastic-Cloud-SMTP
- 操作频率:
For each alert
和On check intervals
- 何时运行:
Query matched
- 收件人:<the recipient email address>
- 主题:<the email subject line>
- 电子邮件连接器:
单击保存。
新规则将被启用,并在满足警报条件时向指定的收件人发送电子邮件。
在规则页面上,您可以选择您创建的规则来启用或禁用它,并查看规则详细信息,包括活动警报列表和警报历史记录。
