监控 Elastic Agent
编辑监控 Elastic Agent
编辑Fleet 提供了内置功能来监控您的 Elastic Agent 集群。在 Fleet 中,您可以
默认情况下,代理监控在代理策略中开启,除非您将其关闭。想要关闭代理监控以停止收集日志和指标?请参阅更改 Elastic Agent 监控设置。
想要在 Elastic Agent 健康状态发生变化时收到警报?请参阅根据 Fleet 和 Elastic Agent 状态启用警报和 ML 作业以及我们的警报示例。
有关 Agent 如何将其状态传达给 Fleet 的更多详细信息,请参阅Elastic Agent 健康状态。
查看 Agent 状态概览
编辑要查看由 Fleet 管理的 Agent 的整体状态,请在 Kibana 中,转到 Management → Fleet → Agents。
Fleet 中的 Agents 选项卡最多显示 10,000 个 Agent,分布在 500 页上,每页 20 行。如果您有超过 10,000 个 Agent,我们建议使用本节中描述的过滤和排序选项将表格缩小到少于 10,000 行。
Elastic Agent 可以具有以下状态
健康 |
Elastic Agent 已注册并已签入。没有正在进行的 Agent 策略更新或自动 Agent 二进制更新,但 Agent 二进制可能仍然过时。Elastic Agent 会持续签入 Fleet Server 以获取所需的更新。 |
不健康 |
Elastic Agent 有错误或在降级状态下运行。由于主机系统上的配置问题,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 操作取消注册离线 Elastic Agent。 这些 Agent 需要重新注册 Fleet 才能再次运行。 |
下图显示了 Elastic Agent 状态的流程
要按状态过滤 Agent 列表,请单击 状态 下拉菜单,然后选择一个或多个状态。
对于高级过滤,请使用搜索栏使用Kibana 查询语言创建结构化查询。例如,输入 local_metadata.os.family : "darwin"
以仅查看在 macOS 上运行的 Agent。
您还可以通过单击这些字段的表格标题,按主机、上次活动时间或版本对 Agent 列表进行排序。
要对超过 10,000 个 Agent 执行批量操作,您可以选择 选择所有页面上的所有内容 按钮。
查看 Agent 的详细信息
编辑在 Fleet 中,您可以访问单个 Agent 的详细状态以及通过 Agent 策略与其关联的集成。
- 在 Fleet 中,打开 Agents 选项卡。
- 在 主机 列中,单击 Agent 的名称。
在 Agent 详细信息 选项卡上,概览 窗格显示有关 Agent 及其性能的详细信息,包括其内存和 CPU 使用率、上次活动时间以及上次签入消息。要访问指标可视化,您还可以查看 Elastic Agent 指标仪表板。
集成 窗格显示已添加到 Agent 策略的集成的状态。展开任何集成以查看其健康状态。任何错误或警告都将显示为警报。
要收集有关特定错误或警告的更多详细信息,请从 操作 菜单中选择 查看 Agent JSON。JSON 包含 Fleet 跟踪的所有原始 Agent 数据。
目前,集成 窗格仅显示 Agent 输入的健康状态。Agent 输出的健康状态尚不可用。
查看 Agent 活动
编辑您可以查看 Elastic Agent 执行的所有操作的按时间顺序排列的列表。
在 Agents 选项卡上,单击 Agent 活动。将显示所有 Agent 操作,从最近的操作开始,包括任何正在进行的操作。
查看 Agent 日志
编辑当 Fleet 报告类似 离线
或 不健康
的 Agent 状态时,您可能希望查看 Agent 日志以诊断潜在原因。如果 Agent 监控配置为收集日志(默认),您可以在 Fleet 中查看 Agent 日志。
- 在 Fleet 中,打开 Agents 选项卡。
- 在 主机 列中,单击 Agent 的名称。
- 在 Agent 详细信息 选项卡上,验证是否启用了 监控日志。如果未启用,请参阅更改 Elastic Agent 监控设置。
-
单击 日志 选项卡。
在 日志 选项卡上,您可以过滤、搜索和浏览 Agent 日志
- 使用搜索栏使用Kibana 查询语言创建结构化查询。
-
选择一个或多个数据集以显示特定程序(例如 Filebeat 或 Fleet Server)的日志。
- 更改日志级别以按日志级别过滤视图。想要查看调试日志?请参阅更改日志级别。
- 更改时间范围以查看历史日志。
- 单击 在日志中打开 以实时跟踪 Agent 日志文件。有关日志记录的更多信息,请参阅跟踪日志文件。
更改日志级别
编辑默认情况下,受监控 Agent 的日志级别设置为 info
。您可以更改 Agent 日志级别,例如,远程打开调试日志
-
如查看 Agent 日志中所述,导航到 日志 选项卡后,向下滚动以查找 Agent 日志级别 设置。
-
选择一个 Agent 日志级别
错误
记录错误和严重错误。
警告
记录警告、错误和严重错误。
信息
记录信息性消息,包括已发布的事件数。还会记录任何警告、错误或严重错误。
调试
记录调试消息,包括所有刷新的事件的详细打印输出。还会记录信息性消息、警告、错误和严重错误。
- 单击 应用更改 以将更新的日志级别应用于 Agent。
收集 Elastic Agent 诊断信息
编辑Fleet 提供了远程生成和收集 Elastic Agent 的诊断包的功能。如果 Agent 处于 健康
或 不健康
状态,并且在线,则可以收集并上传诊断信息。要下载诊断包进行本地查看
- 在 Fleet 中,打开 Agents 选项卡。
- 在 主机 列中,单击 Agent 的名称。
- 单击 诊断 选项卡。
-
单击 请求诊断 .zip 按钮。
此页面上将列出 Elastic Agent 的任何正在进行或之前收集的捆绑包。
请注意,捆绑包存储在 Elasticsearch 中,并在 7 天后自动删除。您还可以单击 垃圾桶
图标删除任何先前创建的捆绑包。
查看 Elastic Agent 指标仪表板
编辑如果 Agent 监控配置为收集指标(默认),您可以使用 Kibana 中的 [Elastic Agent] Agent 指标 仪表板查看有关 Elastic Agent 资源使用率、事件吞吐量和错误的详细信息。此信息可以帮助您识别问题并制定有关扩展部署的决策。
要查看 Agent 指标
- 在 Fleet 中,打开 Agents 选项卡。
- 在 主机 列中,单击 Agent 的名称。
- 在 Agent 详细信息 选项卡上,验证是否启用了 监控指标。如果未启用,请参阅更改 Elastic Agent 监控设置。
-
单击 查看更多 Agent 指标 以导航到 [Elastic Agent] Agent 指标 仪表板。
仪表板使用标准的 Kibana 可视化,您可以对其进行扩展以满足您的需求。
更改 Elastic Agent 监控设置
编辑默认情况下,代理监控在代理策略中开启。要更改在特定代理策略中注册的所有代理的代理监控设置
- 在 Fleet 中,打开代理策略选项卡。
- 单击要编辑的代理策略,然后单击设置。
- 在代理监控下,取消选择(或选择)以下一个或两个设置:收集代理日志和收集代理指标。
- 在高级监控选项下,您可以配置其他设置,包括 HTTP 监控端点、诊断速率限制和诊断文件上传限制。有关详细信息,请参阅配置代理监控。
- 保存您的更改。
要在创建新的代理策略时关闭代理监控
- 在创建代理策略浮出框中,展开高级选项。
- 在代理监控下,取消选择收集代理日志和收集代理指标。
- 配置完代理策略后,单击创建代理策略。
将 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 脱机时通知您
- 在 Kibana 中,导航到管理 > Stack Management > 规则。
- 单击创建规则。
- 选择Elasticsearch 查询作为规则类型。
- 为规则选择一个名称,例如
Elastic Agent 状态
。 - 选择KQL 或 Lucene作为查询类型。
- 选择
DATA VIEW metrics-*
作为数据视图。 - 定义您的查询,例如:
fleet.agents.offline >= 1
。 -
设置警报组、阈值和时间窗口。例如
- 当:
count()
- 在…之上:
所有文档
- 高于:
0
-
在过去:
5 分钟
当过去五分钟内
fleet.agents.offline
字段报告有一个或多个代理脱机时,将生成警报。
- 当:
-
设置要发送的文档数量,例如
- 大小:100
- 将检查频率设置为应评估规则条件的频率。默认设置为一分钟。
-
选择在满足规则条件时发生的操作。例如,要将警报设置为在发生警报时发送电子邮件,请选择电子邮件连接器类型并指定
- 电子邮件连接器:
Elastic-Cloud-SMTP
- 操作频率:
对于每个警报
和在检查间隔
- 何时运行:
查询匹配
- 收件人:<收件人电子邮件地址>
- 主题:<电子邮件主题行>
- 电子邮件连接器:
- 单击保存。
新规则将被启用,并且当满足警报条件时,将向指定的收件人发送电子邮件。
从规则页面,您可以选择您创建的规则来启用或禁用它,并查看规则详细信息,包括活动警报列表和警报历史记录。