常见问题编辑

我们在此处收集了最常见的问题。如果您在此处没有找到问题的答案,请在 论坛 中联系我们。您的反馈对我们非常宝贵。

另请阅读 常见问题排查

为什么我注册的代理未显示在 Fleet 应用中?编辑

如果 Elastic Agent 已成功注册,但未显示在 代理 列表中,则它可能未启动。请确保 elastic-agent 进程正在主机上运行。如果它未运行,请使用 run 命令启动它。部署 Elastic Agent 最常见的方法是使用 install 命令。此命令将为您启动 Elastic Agent。

Elastic Agent 在启动后将日志存储在何处?编辑

Elastic Agent 日志的位置因平台而异。通常,Elastic Agent 将日志存储在启动 Elastic Agent 的 data 目录下。例如,在 macOS 上,您可以在类似于以下路径的位置找到正在运行的 Elastic Agent 的日志:

/Library/Elastic/Agent/data/elastic-agent-08e204/logs/elastic-agent-20220105.ndjson

您可以在以下路径中找到 Beats shipper(例如 Metricbeat)的日志:

/Library/Elastic/Agent/data/elastic-agent-08e204/logs/default/metricbeat-20220105.ndjson

如果日志路径不存在,则 Elastic Agent 无法启动 Metricbeat,这是一个更高级别的问题需要排查。通常,您可以在 Fleet UI 中看到这些日志,除非出现严重到 Elastic Agent 或其相关进程无法将数据发送到 Elasticsearch 的问题。

请参阅 安装布局 以了解每个平台的确切路径。

Elastic Agent 正在运行哪个策略?编辑

要查找策略文件,请检查 Elastic Agent 运行目录中的 elastic-agent.yml 文件。不确定代理在哪里运行?请参阅 安装布局

如果代理在 Fleet 模式下运行,则此文件包含以下引用:

fleet:
  enabled: true

state.yml 文件(位于 data/elastic-agent-* 下)包含完整的、未加密的策略。

  • 要查看 Elasticsearch 位置,请查看 outputs 下的 hosts 设置。例如:

    outputs:
      default:
        api_key: Aq-mPpcBDA7TmnriKCSD:Np6NAleNQ1mMpgN_JPYazw
        hosts:
        - https://3m63533c175a4036b3d8bbe7bd462fa3.us-east-1.aws.found.io:443
        type: elasticsearch

    此文件还显示当前策略使用的所有软件包的版本。

  • 要查看 Elastic Agent 版本,请运行:

    elastic-agent version

为什么我无法看到 Elastic Agent 发送的数据?编辑

如果 Elastic Agent 已设置并正在运行,但您在 Kibana 中看不到数据:

  1. 转到 Kibana 中的 管理 > 开发工具,并在控制台中搜索索引中的数据。例如:

    GET metrics-*/_search

    或者,如果您愿意,也可以转到 发现 应用。

  2. 查看 Elastic Agent 发送的数据,并查看 name.host 字段是否包含您的主机名。

如果您没有看到主机的任何数据,则可能是数据在网络中被阻止,或者防火墙或安全问题阻止了 Elastic Agent 发送数据。

尽管安装独立的 Metricbeat 是多余的,但您可能想尝试安装它,以查看它是否能够成功将数据发送到 Elasticsearch。有关更多信息,请参阅 Metricbeat 快速入门

如果 Metricbeat 能够将数据发送到 Elasticsearch,则 Elastic Agent 可能存在错误或问题,您应该报告该问题。

如何恢复从 Fleet 中删除的 Elastic Agent?编辑

没关系,我们已经为您备份了!数据仍然在 Elasticsearch 中。要再次将 Elastic Agent 添加到 Fleet,请 停止 Elastic Agent,在主机上重新注册它,然后运行 Elastic Agent。

如何在重新启动主机后重新启动 Elastic Agent?编辑

当您重新启动主机时,Elastic Agent 应该会自动重新启动。如果没有,您可以通过运行以下命令手动启动它:

elastic-agent run

如果该进程已在运行,则可以通过运行以下命令重新启动它:

elastic-agent restart

Elastic Agent 或 Kibana 是否下载集成包?编辑

Elastic Agent 不会下载集成包。当您在 Fleet 中添加集成时,Kibana 会连接到 epr.elastic.co 上的 Elastic Package Registry,下载集成包,并将其资产存储在 Elasticsearch 中。这意味着您不再需要像以前使用 Beats 模块那样运行手动设置命令来加载集成。

默认情况下,Kibana 需要互联网连接才能从 Elastic Package Registry 下载集成包。如果网络限制阻止 Kibana 访问公共 Elastic Package Registry,则可以使用代理服务器或托管您自己的 Elastic Package Registry。要了解更多信息,请参阅 气隙环境

Elastic Agent 是否从互联网下载任何内容?编辑

  • 在 7.10 及更高版本中,可以在不连接 Elastic 下载站点的情况下安装功能齐全的工件。但是,如果正在使用,则会指示 Elastic Defend 进程尝试下载其使用的特定于集成的工件的更新版本。其中一些例如是恶意软件模型、受信任应用程序工件、例外列表工件等。即使无法下载更新,Elastic Endpoint 也会继续保护主机。但是,在将 Elastic Agent 升级到新版本之前,它不会收到对保护的更新。有关更多信息,请参阅 Elastic Security 文档
  • Elastic Agent 需要互联网访问权限才能下载二进制升级的工件。在气隙环境中,您可以托管自己的工件注册表。有关更多信息,请参阅 气隙环境

我是否需要设置由 Elastic Agent 管理的 Beats?编辑

您可能已经注意到 Elastic Agent 在后台运行 Beats。但请注意,由 Elastic Agent 管理的 Beats 的设置和运行方式与独立的 Beats 不同。

例如,独立的 Beats 使用模块,并且需要您在主机上运行设置命令来加载资产,例如摄取管道和仪表板。相比之下,由 Elastic Agent 管理的 Beats 使用 Kibana 从 epr.elastic.co 上的 Elastic Package Registry 下载的集成包。这意味着 Elastic Agent 不需要额外的权限来设置资产,因为 Fleet 会管理资产。

Fleet 中的 Elastic Defend 集成是什么?编辑

Elastic Defend 集成在您的 Elastic Agent 控制的主机上提供保护。该集成会监控您的主机是否存在与安全相关的事件,从而允许通过 Kibana 中的 Elastic Security 应用调查安全数据。Elastic Defend 集成由 Elastic Agent 以与其他集成相同的方式进行管理。试试看!有关更多信息,请参阅 Elastic Security 文档

Elastic Security 和 Elastic Agent 之间的通信是如何得到保护的?编辑

Elastic Security 通过端口 6788 上的环回 TLS 连接到代理。Elastic Security 会验证代理是否具有 root(Linux 和 macOS)或 SYSTEM(Windows)权限。

在 Kibana 中输入集成策略或代理策略时,机密信息是如何得到保护的?编辑

您为代理或集成策略提供的凭据存储在 Elasticsearch 中。任何对 Elasticsearch 中的 .fleet-*.kibana* 索引具有读取权限的用户都可以读取它们。默认情况下,这些用户是超级用户、fleet-server 服务帐户令牌和 kibana_system 用户。这些机密信息也包含在代理策略中,并通过 TLS 通过 Fleet 共享给代理。当您使用 Elastic Agent 安装程序并在 Fleet 中注册代理时,策略会存储在主机文件系统上,并且默认情况下只能由 root 用户读取。

需要访问哪些 Elasticsearch 和 Kibana 端口?编辑

Fleet 生成的策略已经包含了适合您设置的 Elasticsearch 地址和端口。如果您在本地运行所有内容,则地址为 127.0.0.1:9200。如果您在 Elastic Cloud 上使用我们的托管 Elasticsearch 服务,则可以从部署的概览页面复制 Elasticsearch 端点 URL。如果您不在 Elastic Cloud 中运行,请确保 Kibana 和 Elasticsearch HTTPS 端口均可访问;默认情况下,这些端口分别为 56019200

如果我从 Kibana 中删除了一个集成仪表板资产,如何将其恢复?编辑

要重新安装特定集成的资产,您可以使用 Fleet UI。有关更多信息,请参阅重新安装集成资产

或者,您可以使用 Fleet API 并指定软件包名称和版本。这需要针对 Kibana API 而不是 Elasticsearch API 运行才能成功。要重新安装软件包资产,请使用正文中的 force 参数执行以下调用

POST api/fleet/epm/packages/[package name]/[package version]
{ "force": true }

因此,例如,要重新安装 system v1.0.0 软件包,请 POST

POST api/fleet/epm/packages/system/1.0.0
{ "force": true }

软件包版本显示在 Kibana 的“集成”视图中。