常见问题

编辑

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

另请阅读 排查常见问题

为什么我的已注册 Agent 没有显示在 Fleet 应用中?

编辑

如果 Elastic Agent 已成功注册,但未显示在 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 发货程序(例如 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 文件。不确定 Agent 在哪里运行?请参阅 安装布局

如果 Agent 在 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 连接到 Agent。Elastic Security 验证 Agent 是否具有 root(Linux 和 macOS)或 SYSTEM(Windows)权限。

在 Kibana 中输入集成策略或 Agent 策略时,如何保护密钥?

编辑

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