Elastic Agent 命令参考
编辑Elastic Agent 命令参考
编辑Elastic Agent 提供了用于运行 Elastic Agent、管理 Fleet Server 以及执行常见任务的命令。此处列出的命令适用于 Fleet 管理的 和 独立的 Elastic Agent。
限制
请注意运行 Elastic Agent 命令的以下限制
- 您可能需要以 root 用户(或 Windows 上的管理员)身份登录才能运行此处描述的命令。在 Elastic Agent 服务安装并运行后,请确保在运行这些命令时不要在前面加上
./
,以避免调用错误的二进制文件。 - 不支持使用 Windows PowerShell ISE 运行 Elastic Agent 命令。
elastic-agent diagnostics
编辑从 Elastic Agent 及其运行的组件/单元收集诊断信息。此命令会生成一个包含以下内容的归档文件:
- version.txt - 版本信息
- pre-config.yaml - 变量替换之前的预配置
- variables.yaml - 来自提供程序的当前变量上下文
- computed-config.yaml - 变量替换后的配置
- components-expected.yaml - 来自 computed-config.yaml 的预期计算组件模型
- components-actual.yaml - 运行时管理器报告的实际运行组件模型
- state.yaml - 所有正在运行的组件的当前状态信息
-
Components Directory - 来自每个正在运行的组件的诊断信息
- goroutine.txt - goroutine 转储
- heap.txt - 活动对象的内存分配
- allocs.txt - 采样过去的内存分配
- threadcreate.txt - 导致创建新操作系统线程的跟踪
- block.txt - 导致在同步原语上阻塞的堆栈跟踪
- mutex.txt - 有争议的互斥锁持有者的堆栈跟踪
- Unit Directory - 如果给定的单元提供特定的诊断信息,则会将其放置在此处。
请注意,凭据可能不会在归档文件中被编辑;它们可能会以纯文本形式出现在归档文件中的配置或策略文件中。
此命令仅用于调试目的。归档文件的输出格式和结构可能会在版本之间发生变化。
概要
编辑elastic-agent diagnostics [--file <string>] [--cpu-profile] [--exclude-events] [--help] [global-flags]
选项
编辑-
--file
- 指定输出归档文件名。默认为
elastic-agent-diagnostics-<时间戳>.zip
,其中时间戳是当前的 UTC 时间。 -
--help
- 显示
diagnostics
命令的帮助。 -
--cpu-profile
- 此外,对每个正在运行的组件运行 30 秒的 CPU 分析。这将为每个组件生成一个额外的
cpu.pprof
文件。 -
--p
--cpu-profile
的别名。-
--exclude-events
- 从诊断归档文件中排除事件日志文件。
有关更多标志,请参阅 全局标志。
示例
编辑elastic-agent diagnostics
elastic-agent enroll
编辑在 Fleet 中注册 Elastic Agent。
使用此命令在 Fleet 中注册 Elastic Agent,而无需将代理安装为服务。如果您是从 DEB 或 RPM 包安装的 Elastic Agent,并且计划使用 systemd 命令来启动和管理服务,则需要执行此操作。此命令对于在安装 Elastic Agent 之前对其进行测试也很有用。
如果您已经安装了 Elastic Agent,请使用此命令来修改 Elastic Agent 运行的设置。
要注册 Elastic Agent 并将其安装为服务,请使用 install
命令。作为服务安装是最常见的情况。
我们建议您以 root 用户身份运行 enroll
(或 install
)命令,因为某些集成需要 root 权限才能收集敏感数据。此命令会覆盖代理目录中的 elastic-agent.yml
文件。
此命令包含用于设置 Fleet Server 的可选标志。
概要
编辑在 Fleet 中注册 Elastic Agent
elastic-agent enroll --url <string> --enrollment-token <string> [--ca-sha256 <string>] [--certificate-authorities <string>] [--daemon-timeout <duration>] [--delay-enroll] [--elastic-agent-cert <string>] [--elastic-agent-cert-key <string>] [--elastic-agent-cert-key-passphrase <string>] [--force] [--header <strings>] [--help] [--insecure ] [--proxy-disabled] [--proxy-header <strings>] [--proxy-url <string>] [--staging <string>] [--tag <string>] [global-flags]
在 Fleet 中注册 Elastic Agent 并设置 Fleet Server
elastic-agent enroll --fleet-server-es <string> --fleet-server-service-token <string> [--fleet-server-service-token-path <string>] [--ca-sha256 <string>] [--certificate-authorities <string>] [--daemon-timeout <duration>] [--delay-enroll] [--elastic-agent-cert <string>] [--elastic-agent-cert-key <string>] [--elastic-agent-cert-key-passphrase <string>] [--fleet-server-cert <string>] [--fleet-server-cert-key <string>] [--fleet-server-cert-key-passphrase <string>] [--fleet-server-client-auth <string>] [--fleet-server-es-ca <string>] [--fleet-server-es-ca-trusted-fingerprint <string>] [--fleet-server-es-cert <string>] [--fleet-server-es-cert-key <string>] [--fleet-server-es-insecure] [--fleet-server-host <string>] [--fleet-server-policy <string>] [--fleet-server-port <uint16>] [--fleet-server-timeout <duration>] [--force] [--header <strings>] [--help] [--non-interactive] [--proxy-disabled] [--proxy-header <strings>] [--proxy-url <string>] [--staging <string>] [--tag <string>] [--url <string>] [global-flags]
如果未指定任何 |
|
将自签名证书与 Elasticsearch 结合使用时是必需的。 |
|
使用自定义证书注册到 Fleet Server 时是必需的。该 URL 必须与用于生成 |
有关自定义证书的更多信息,请参阅 为自管理 Fleet Server 配置 SSL/TLS。
选项
编辑-
--ca-sha256 <string>
- 用于证书验证的证书颁发机构哈希 pin 的逗号分隔列表。
-
--certificate-authorities <string>
- 用于服务器验证的根证书的逗号分隔列表。
-
--daemon-timeout <duration>
- 等待 Elastic Agent 守护进程的超时时间。
-
--delay-enroll
- 延迟注册,使其在 Elastic Agent 服务首次启动时发生。当您不希望 Elastic Agent 在下次重新启动或手动启动服务之前注册时,此设置非常有用,例如,当您正在准备包含 Elastic Agent 的映像时。
-
--elastic-agent-cert
- 用作 Elastic Agent 与 Fleet Server 连接的客户端证书。
-
--elastic-agent-cert-key
- 用作 Elastic Agent 与 Fleet Server 连接的私钥。
-
--elastic-agent-cert-key-passphrase
-
包含用于相互 TLS 私钥的密码的文件的路径,Elastic Agent 将使用该私钥连接到 Fleet Server。该文件必须仅包含密码的字符,不能包含换行符或额外的非打印字符。
仅当
--elastic-agent-cert-key
被加密并且需要密码才能使用时,才会使用此选项。 -
--enrollment-token <string>
- 用于将 Elastic Agent 注册到 Fleet 的注册令牌。您可以为多个代理使用相同的注册令牌。
-
--fleet-server-cert <string>
- 用于公开的 Fleet Server HTTPS 端点的证书。
-
--fleet-server-cert-key <string>
- 用于公开的 Fleet Server HTTPS 端点的私钥。
-
--fleet-server-cert-key-passphrase <string>
- 用于解密 Fleet Server 的私钥(如果使用了加密的私钥)的密码文件的路径。
-
--fleet-server-client-auth <string>
none
、optional
或required
之一。默认为none
。Fleet Server 的用于客户端 mTLS 连接的client_authentication
选项。如果指定了optional
或required
,则使用--certificate-authorities
标志中指定的 CA 验证客户端证书。-
--fleet-server-es <string>
- 在 Elastic Agent 启动时启动 Fleet Server 进程,并连接到指定的 Elasticsearch URL。
-
--fleet-server-es-ca <string>
- 用于与 Elasticsearch 通信的证书颁发机构的路径。
-
--fleet-server-es-ca-trusted-fingerprint <string>
- 用于自签名 Elasticsearch 证书的证书颁发机构的 SHA-256 指纹(哈希)。此指纹将用于验证 Fleet Server 提供的自签名证书以及 Elastic Agent 启动的任何输入以进行通信。将自签名证书与 Elasticsearch 结合使用时,此标志是必需的。
-
--fleet-server-es-cert
- Fleet Server 连接到 Elasticsearch 时将使用的客户端证书的路径。
-
--fleet-server-es-cert-key
- Fleet Server 连接到 Elasticsearch 时将使用的私钥的路径。
-
--fleet-server-es-insecure
-
允许 Fleet Server 在以下情况下连接到 Elasticsearch
- 连接到 HTTP 服务器时。
- 连接到 HTTPS 服务器且无法验证证书链时。内容已加密,但未验证证书。
使用此标志时,将禁用证书验证。
-
--fleet-server-host <string>
- Fleet Server HTTP 绑定主机(覆盖策略)。
-
--fleet-server-policy <string>
- 在启动自管理 Fleet Server 时使用,以允许使用特定的策略。
-
--fleet-server-port <uint16>
- Fleet Server HTTP 绑定端口(覆盖策略)。
-
--fleet-server-service-token <string>
- 用于与 Elasticsearch 通信的服务令牌。与
--fleet-server-service-token-path
互斥。 -
--fleet-server-service-token-path <string>
- 用于与 Elasticsearch 通信的服务令牌文件。与
--fleet-server-service-token
互斥。 -
--fleet-server-timeout <duration>
- 等待 Fleet Server 准备好开始注册的超时时间。
-
--force
-
强制覆盖当前配置,而不提示确认。当使用自动化软件或脚本部署时,此标志很有用。
如果 Elastic Agent 已安装在主机上,则使用
--force
可能会导致不可预测的行为,导致 Fleet 中出现重复的 Elastic Agent。 -
--header <strings>
- 用于与 elasticsearch 通信的标头。
-
--help
- 显示
enroll
命令的帮助。 -
--insecure
-
允许 Elastic Agent 通过不安全的连接连接到 Fleet Server。在以下情况下需要此设置:
- 当连接到 HTTP 服务器时。API 密钥以明文形式发送。
- 连接到 HTTPS 服务器且无法验证证书链时。内容已加密,但未验证证书。
- 当使用 Elastic Agent 生成的自签名证书时。
我们强烈建议您使用安全连接。
-
--non-interactive
- 以非交互模式安装 Elastic Agent。当使用自动化软件或脚本部署时,此标志很有用。如果主机上已安装 Elastic Agent,则安装将终止。
-
--proxy-disabled
- 禁用代理支持,包括环境变量。
-
--proxy-header <字符串>
- 与 CONNECT 请求一起使用的代理头。
-
--proxy-url <字符串>
- 配置代理 URL。
-
--staging <字符串>
- 配置代理以从暂存构建下载工件。
-
--tag <字符串>
-
要应用于 Fleet 管理的 Elastic Agent 的逗号分隔的标签列表。您可以使用这些标签来筛选 Fleet 中的代理列表。
目前,无法删除或编辑现有标签。要更改标签,您必须取消注册 Elastic Agent,然后使用新标签重新注册。
-
--url <字符串>
- 用于将 Elastic Agent 注册到 Fleet 的 Fleet Server URL。
有关更多标志,请参阅 全局标志。
示例
编辑将 Elastic Agent 注册到 Fleet
elastic-agent enroll \ --url=https://cedd4e0e21e240b4s2bbbebdf1d6d52f.fleet.eu-west-1.aws.cld.elstc.co:443 \ --enrollment-token=NEFmVllaa0JLRXhKebVKVTR5TTI6N2JaVlJpSGpScmV0ZUVnZVlRUExFQQ==
将 Elastic Agent 注册到 Fleet 并设置 Fleet Server
elastic-agent enroll --fleet-server-es=http://elasticsearch:9200 \ --fleet-server-service-token=AbEAAdesYXN1abMvZmxlZXQtc2VldmVyL3Rva2VuLTE2MTkxMzg3MzIzMTg7dzEta0JDTmZUcGlDTjlwRmNVTjNVQQ \ --fleet-server-policy=a35fd520-26f5-11ec-8bd9-3374690g57b6
启动带有 Fleet Server 的 Elastic Agent(在自定义 CA 上运行)。此示例假定您已使用以下名称生成证书:
-
ca.crt
:根 CA 证书 -
fleet-server.crt
:Fleet Server 证书 -
fleet-server.key
:Fleet Server 私钥 -
elasticsearch-ca.crt
:用于连接到 Elasticsearch 的 CA 证书
elastic-agent enroll \ --url=https://fleet-server:8220 \ --fleet-server-es=https://elasticsearch:9200 \ --fleet-server-service-token=AAEBAWVsYXm0aWMvZmxlZXQtc2XydmVyL3Rva2VuLTE2MjM4OTAztDU1OTQ6dllfVW1mYnFTVjJwTC2ZQ0EtVnVZQQ \ --fleet-server-policy=a35fd520-26f5-11ec-8bd9-3374690g57b6 \ --certificate-authorities=/path/to/ca.crt \ --fleet-server-es-ca=/path/to/elasticsearch-ca.crt \ --fleet-server-cert=/path/to/fleet-server.crt \ --fleet-server-cert-key=/path/to/fleet-server.key \ --fleet-server-port=8220
然后将另一个 Elastic Agent 注册到上一个示例中启动的 Fleet Server
elastic-agent enroll --url=https://fleet-server:8220 \ --enrollment-token=NEFmVllaa0JLRXhKebVKVTR5TTI6N2JaVlJpSGpScmV0ZUVnZVlRUExFQQ== \ --certificate-authorities=/path/to/ca.crt
elastic-agent help
编辑显示特定命令的帮助。
概要
编辑elastic-agent help <command> [--help] [global-flags]
选项
编辑-
command
- 命令的名称。
-
--help
- 显示
help
命令的帮助。
有关更多标志,请参阅 全局标志。
示例
编辑elastic-agent help enroll
elastic-agent inspect
编辑显示当前 Elastic Agent 配置。
如果未指定任何参数,则显示完整的 Elastic Agent 配置。
概要
编辑elastic-agent inspect [--help] elastic-agent inspect components [--show-config] [--show-spec] [--help] [id]
选项
编辑-
components
-
显示组件的当前配置。此命令接受其他标志
-
--show-config
- 用于显示所有单元中的配置。
-
--show-spec
- 用于获取组件的输入/输出运行时规范。
-
-
--help
- 显示
inspect
命令的帮助。
有关更多标志,请参阅 全局标志。
示例
编辑elastic-agent inspect elastic-agent inspect components --show-config elastic-agent inspect components log-default
elastic-agent privileged
编辑以完全超级用户权限运行 Elastic Agent。这是 Elastic Agent 的常用默认运行模式。privileged
命令允许您在以 unprivileged
模式运行代理时,切换回以完全管理权限运行代理。
有关更多详细信息,请参阅 在没有管理权限的情况下运行 Elastic Agent。
示例
编辑elastic-agent privileged
elastic-agent install
编辑在系统上永久安装 Elastic Agent,并使用系统的服务管理器对其进行管理。安装完成后,代理将自动启动。在 Linux(tar 包)上,此命令需要系统和服务管理器(如 systemd)。
如果您从 DEB 或 RPM 包安装了 Elastic Agent,则 install
命令将跳过安装本身,而改为充当 enroll
命令 的别名。请注意,在使用 DEB 或 RPM 升级 Elastic Agent 后,需要重新启动 Elastic Agent 服务。
您必须以 root 用户(或 Windows 上的管理员)身份运行此命令,才能将文件写入正确的位置。此命令会覆盖代理目录中的 elastic-agent.yml
文件。
运行此命令的语法因平台而异。有关特定于平台的示例,请参阅 安装 Elastic Agent。
概要
编辑要将 Elastic Agent 作为服务安装、将其注册到 Fleet 并启动 elastic-agent
服务
elastic-agent install --url <string> --enrollment-token <string> [--base-path <string>] [--ca-sha256 <string>] [--certificate-authorities <string>] [--daemon-timeout <duration>] [--delay-enroll] [--elastic-agent-cert <string>] [--elastic-agent-cert-key <string>] [--elastic-agent-cert-key-passphrase <string>] [--force] [--header <strings>] [--help] [--insecure ] [--non-interactive] [--privileged] [--proxy-disabled] [--proxy-header <strings>] [--proxy-url <string>] [--staging <string>] [--tag <string>] [--unprivileged] [global-flags]
要将 Elastic Agent 作为服务安装、将其注册到 Fleet 并启动 fleet-server
进程以及 elastic-agent
服务
elastic-agent install --fleet-server-es <string> --fleet-server-service-token <string> [--fleet-server-service-token-path <string>] [--base-path <string>] [--ca-sha256 <string>] [--certificate-authorities <string>] [--daemon-timeout <duration>] [--delay-enroll] [--elastic-agent-cert <string>] [--elastic-agent-cert-key <string>] [--elastic-agent-cert-key-passphrase <string>] [--fleet-server-cert <string>] [--fleet-server-cert-key <string>] [--fleet-server-cert-key-passphrase <string>] [--fleet-server-client-auth <string>] [--fleet-server-es-ca <string>] [--fleet-server-es-ca-trusted-fingerprint <string>] [--fleet-server-es-cert <string>] [--fleet-server-es-cert-key <string>] [--fleet-server-es-insecure] [--fleet-server-host <string>] [--fleet-server-policy <string>] [--fleet-server-port <uint16>] [--fleet-server-timeout <duration>] [--force] [--header <strings>] [--help] [--non-interactive] [--privileged] [--proxy-disabled] [--proxy-header <strings>] [--proxy-url <string>] [--staging <string>] [--tag <string>] [--unprivileged] [--url <string>] [global-flags]
如果未指定任何 |
|
在 Elasticsearch 端使用自签名证书时需要。 |
|
使用自定义证书注册到 Fleet Server 时是必需的。该 URL 必须与用于生成 |
有关自定义证书的更多信息,请参阅 为自管理 Fleet Server 配置 SSL/TLS。
选项
编辑-
--base-path <字符串>
-
将 Elastic Agent 安装在 默认 位置以外的位置。指定安装的自定义基本路径。
--base-path
选项当前不支持 Elastic Defend。 -
--ca-sha256 <string>
- 用于证书验证的证书颁发机构哈希 pin 的逗号分隔列表。
-
--certificate-authorities <string>
- 用于服务器验证的根证书的逗号分隔列表。
-
--daemon-timeout <duration>
- 等待 Elastic Agent 守护进程的超时时间。
-
--delay-enroll
- 延迟注册,使其在 Elastic Agent 服务首次启动时发生。当您不希望 Elastic Agent 在下次重新启动或手动启动服务之前注册时,此设置非常有用,例如,当您正在准备包含 Elastic Agent 的映像时。
-
--elastic-agent-cert
- 用作 Elastic Agent 与 Fleet Server 连接的客户端证书。
-
--elastic-agent-cert-key
- 用作 Elastic Agent 与 Fleet Server 连接的私钥。
-
--elastic-agent-cert-key-passphrase
-
包含用于相互 TLS 私钥的密码的文件的路径,Elastic Agent 将使用该私钥连接到 Fleet Server。该文件必须仅包含密码的字符,不能包含换行符或额外的非打印字符。
仅当
--elastic-agent-cert-key
被加密并且需要密码才能使用时,才会使用此选项。 -
--enrollment-token <string>
- 用于将 Elastic Agent 注册到 Fleet 的注册令牌。您可以为多个代理使用相同的注册令牌。
-
--fleet-server-cert <string>
- 用于公开的 Fleet Server HTTPS 端点的证书。
-
--fleet-server-cert-key <string>
- 用于公开的 Fleet Server HTTPS 端点的私钥。
-
--fleet-server-cert-key-passphrase <string>
- 用于解密 Fleet Server 的私钥(如果使用了加密的私钥)的密码文件的路径。
-
--fleet-server-client-auth <string>
none
、optional
或required
之一。默认为none
。Fleet Server 的用于客户端 mTLS 连接的client_authentication
选项。如果指定了optional
或required
,则使用--certificate-authorities
标志中指定的 CA 验证客户端证书。-
--fleet-server-es <string>
- 在 Elastic Agent 启动时启动 Fleet Server 进程,并连接到指定的 Elasticsearch URL。
-
--fleet-server-es-ca <string>
- 用于与 Elasticsearch 通信的证书颁发机构的路径。
-
--fleet-server-es-ca-trusted-fingerprint <string>
- 用于自签名 Elasticsearch 证书的证书颁发机构的 SHA-256 指纹(哈希)。此指纹将用于验证 Fleet Server 提供的自签名证书以及 Elastic Agent 启动的任何输入以进行通信。将自签名证书与 Elasticsearch 结合使用时,此标志是必需的。
-
--fleet-server-es-cert
- Fleet Server 连接到 Elasticsearch 时将使用的客户端证书的路径。
-
--fleet-server-es-cert-key
- Fleet Server 连接到 Elasticsearch 时将使用的私钥的路径。
-
--fleet-server-es-insecure
-
允许 Fleet Server 在以下情况下连接到 Elasticsearch
- 连接到 HTTP 服务器时。
- 连接到 HTTPS 服务器且无法验证证书链时。内容已加密,但未验证证书。
使用此标志时,将禁用证书验证。
-
--fleet-server-host <string>
- Fleet Server HTTP 绑定主机(覆盖策略)。
-
--fleet-server-policy <string>
- 在启动自管理 Fleet Server 时使用,以允许使用特定的策略。
-
--fleet-server-port <uint16>
- Fleet Server HTTP 绑定端口(覆盖策略)。
-
--fleet-server-service-token <string>
- 用于与 Elasticsearch 通信的服务令牌。与
--fleet-server-service-token-path
互斥。 -
--fleet-server-service-token-path <string>
- 用于与 Elasticsearch 通信的服务令牌文件。与
--fleet-server-service-token
互斥。 -
--fleet-server-timeout <duration>
- 等待 Fleet Server 准备好开始注册的超时时间。
-
--force
-
强制覆盖当前配置,而不提示确认。当使用自动化软件或脚本部署时,此标志很有用。
如果 Elastic Agent 已安装在主机上,则使用
--force
可能会导致不可预测的行为,导致 Fleet 中出现重复的 Elastic Agent。 -
--header <strings>
- 用于与 elasticsearch 通信的标头。
-
--help
- 显示
enroll
命令的帮助。 -
--insecure
-
允许 Elastic Agent 通过不安全的连接连接到 Fleet Server。在以下情况下需要此设置:
- 当连接到 HTTP 服务器时。API 密钥以明文形式发送。
- 连接到 HTTPS 服务器且无法验证证书链时。内容已加密,但未验证证书。
- 当使用 Elastic Agent 生成的自签名证书时。
我们强烈建议您使用安全连接。
-
--non-interactive
- 以非交互模式安装 Elastic Agent。当使用自动化软件或脚本部署时,此标志很有用。如果主机上已安装 Elastic Agent,则安装将终止。
-
--privileged
- 以完全超级用户权限运行 Elastic Agent。这是 Elastic Agent 的常用默认运行模式。
--privileged
选项允许您在以unprivileged
运行代理时切换回以完全管理权限运行代理。
有关更多详细信息,请参阅 --unprivileged
选项和 在没有管理权限的情况下运行 Elastic Agent。
-
--proxy-disabled
- 禁用代理支持,包括环境变量。
-
--proxy-header <字符串>
- 与 CONNECT 请求一起使用的代理头。
-
--proxy-url <字符串>
- 配置代理 URL。
-
--staging <字符串>
- 配置代理以从暂存构建下载工件。
-
--tag <字符串>
-
要应用于 Fleet 管理的 Elastic Agent 的逗号分隔的标签列表。您可以使用这些标签来筛选 Fleet 中的代理列表。
目前,无法删除或编辑现有标签。要更改标签,您必须取消注册 Elastic Agent,然后使用新标签重新注册。
-
--unprivileged
- 在没有完全超级用户权限的情况下运行 Elastic Agent。此选项在限制 Linux 或 macOS 系统上
root
访问权限或 Windows 系统上admin
访问权限的组织中很有用。有关在此模式下运行 Elastic Agent 的详细信息和限制,请参阅 在没有管理权限的情况下运行 Elastic Agent。
请注意,如果代理当前已注册到包含需要管理访问权限的集成(例如 Elastic Defend 集成)的策略,则会阻止更改为 unprivileged
模式。
-
--url <字符串>
- 用于将 Elastic Agent 注册到 Fleet 的 Fleet Server URL。
有关更多标志,请参阅 全局标志。
示例
编辑将 Elastic Agent 作为服务安装、将其注册到 Fleet 并启动 elastic-agent
服务
elastic-agent install \ --url=https://cedd4e0e21e240b4s2bbbebdf1d6d52f.fleet.eu-west-1.aws.cld.elstc.co:443 \ --enrollment-token=NEFmVllaa0JLRXhKebVKVTR5TTI6N2JaVlJpSGpScmV0ZUVnZVlRUExFQQ==
将 Elastic Agent 作为服务安装、将其注册到 Fleet 并启动 fleet-server
进程以及 elastic-agent
服务
elastic-agent install --fleet-server-es=http://elasticsearch:9200 \ --fleet-server-service-token=AbEAAdesYXN1abMvZmxlZXQtc2VldmVyL3Rva2VuLTE2MTkxMzg3MzIzMTg7dzEta0JDTmZUcGlDTjlwRmNVTjNVQQ \ --fleet-server-policy=a35fd620-26f6-11ec-8bd9-3374690f57b6
启动带有 Fleet Server 的 Elastic Agent(在自定义 CA 上运行)。此示例假定您已使用以下名称生成证书:
-
ca.crt
:根 CA 证书 -
fleet-server.crt
:Fleet Server 证书 -
fleet-server.key
:Fleet Server 私钥 -
elasticsearch-ca.crt
:用于连接到 Elasticsearch 的 CA 证书
elastic-agent install \ --url=https://fleet-server:8220 \ --fleet-server-es=https://elasticsearch:9200 \ --fleet-server-service-token=AAEBAWVsYXm0aWMvZmxlZXQtc2XydmVyL3Rva2VuLTE2MjM4OTAztDU1OTQ6dllfVW1mYnFTVjJwTC2ZQ0EtVnVZQQ \ --fleet-server-policy=a35fd520-26f5-11ec-8bd9-3374690g57b6 \ --certificate-authorities=/path/to/ca.crt \ --fleet-server-es-ca=/path/to/elasticsearch-ca.crt \ --fleet-server-cert=/path/to/fleet-server.crt \ --fleet-server-cert-key=/path/to/fleet-server.key \ --fleet-server-port=8220
然后安装另一个 Elastic Agent 并将其注册到上一个示例中启动的 Fleet Server
elastic-agent install --url=https://fleet-server:8220 \ --enrollment-token=NEFmVllaa0JLRXhKebVKVTR5TTI6N2JaVlJpSGpScmV0ZUVnZVlRUExFQQ== \ --certificate-authorities=/path/to/ca.crt
elastic-agent otel
编辑此功能为技术预览版,可能会在未来版本中更改或删除。Elastic 将努力修复任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。
将 Elastic Agent 作为 OpenTelemetry 收集器 运行。
概要
编辑elastic-agent otel [flags] elastic-agent otel [command]
您还可以运行 ./otelcol
命令,该命令会调用 ./elastic-agent otel
并将任何参数传递给它。
可用命令
编辑-
validate
- 验证 OpenTelemetry 收集器配置,而无需运行收集器。
标志
编辑-
--config=file:/path/to/first --config=file:path/to/second
- 配置文件位置。请注意,每个标志条目只能设置一个位置,例如
--config=file:/path/to/first --config=file:path/to/second
。 -
--feature-gates flag
- 以逗号分隔的功能门标识符列表。添加前缀
-
以禁用该功能。添加前缀+
或不添加前缀将启用该功能。 -
-h, --help
- 获取
otel
子命令的帮助。使用elastic-agent otel [命令] --help
获取有关命令的更多信息。 -
--set string
- 设置任意组件配置属性。该组件必须在配置文件中定义,并且该标志具有更高的优先级。数组配置属性将被覆盖,并且映射会进行连接。例如,
--set=processors::batch::timeout=2s
。
示例
编辑使用提供的 otel.yml
配置文件将 Elastic Agent 作为 OTel 收集器运行。
./elastic-agent otel --config otel.yml
将 Elastic Agent OTel 配置中的默认详细程度设置从 detailed
更改为 normal
。
./elastic-agent otel --config otel.yml --set "exporters::debug::verbosity=normal"
elastic-agent restart
编辑重新启动当前正在运行的 Elastic Agent 守护程序。
概要
编辑elastic-agent restart [--help] [global-flags]
选项
编辑-
--help
- 显示
restart
命令的帮助。
有关更多标志,请参阅 全局标志。
示例
编辑elastic-agent restart
elastic-agent run
编辑启动 elastic-agent
进程。
概要
编辑elastic-agent run [global-flags]
全局标志
编辑只要您在命令行上运行 elastic-agent
,这些标志就有效。
-
-c <字符串>
- 要使用的配置文件。如果未指定,则 Elastic Agent 使用
{path.config}/elastic-agent.yml
。 -
--e
- 记录到 stderr 并禁用 syslog/文件输出。
-
--environment <环境变量>
- 代理将在其中运行的环境。
-
--path.config <字符串>
- Elastic Agent 在其中查找配置文件的目录。默认值因平台而异。
-
--path.home <字符串>
-
Elastic Agent 的根目录。
path.home
确定配置文件和数据目录的位置。如果未指定,则 Elastic Agent 使用当前工作目录。
-
--path.logs <字符串>
- Elastic Agent 的日志输出路径。默认值因平台而异。
-
--v
- 将日志级别设置为 INFO。
示例
编辑elastic-agent run -c myagentconfig.yml
elastic-agent status
编辑返回正在运行的 Elastic Agent 守护程序以及 Elastic Agent 中每个进程的当前状态。还会返回 Fleet Server 的最后已知状态。output
选项控制信息的详细程度和格式。
概要
编辑elastic-agent status [--output <string>] [--help] [global-flags]
选项
编辑-
--output <字符串>
- 以
human
(默认值)、full
、json
或yaml
格式输出状态信息。human
在 Elastic Agent 处于HEALTHY
状态时返回有限的信息。如果任何组件或单元不处于HEALTHY
状态,则会显示该组件或单元的完整详细信息。full
、json
和yaml
始终返回完整的状态信息。组件映射到在 Elastic Agent 下运行的各个进程,例如 Filebeat 或 Endpoint Security。单元映射到该进程中的离散配置单元,例如 Filebeat 输入或 Metricbeat 模块。
当输出为 json
或 yaml
时,状态代码将以数值形式返回。可以使用下表映射状态代码
+
代码 | 状态 |
---|---|
0 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
-
--help
- 显示
status
命令的帮助。
有关更多标志,请参阅 全局标志。
示例
编辑elastic-agent status
elastic-agent uninstall
编辑从系统中永久卸载 Elastic Agent。
您必须以 root 用户身份(或 Windows 上的管理员身份)运行此命令才能删除文件。
请务必从 Elastic Agent 安装位置之外的目录运行 uninstall
命令。
例如,在 Windows 系统上,安装位置是 C:\Program Files\Elastic\Agent
。从 C:\Program Files\Elastic
或 \tmp
甚至是您的默认主目录运行卸载命令
C:\"Program Files"\Elastic\Agent\elastic-agent.exe uninstall
您必须以 root 用户身份运行此命令。
sudo /Library/Elastic/Agent/elastic-agent uninstall
您必须以 root 用户身份运行此命令。
sudo /opt/Elastic/Agent/elastic-agent uninstall
以管理员身份打开 PowerShell 提示符(右键单击 PowerShell 图标并选择 以管理员身份运行)。
从 PowerShell 提示符中,运行
C:\"Program Files"\Elastic\Agent\elastic-agent.exe uninstall
概要
编辑elastic-agent uninstall [--force] [--help] [global-flags]
选项
编辑-
--force
- 卸载 Elastic Agent 并且不提示确认。此标志在使用自动化软件或脚本部署时非常有用。
-
--help
- 显示
uninstall
命令的帮助。
有关更多标志,请参阅 全局标志。
示例
编辑elastic-agent uninstall
elastic-agent unprivileged
编辑在没有完全超级用户权限的情况下运行 Elastic Agent。这在限制 Linux 或 macOS 系统上的 root
访问权限,或 Windows 系统上的 admin
访问权限的组织中非常有用。有关在此模式下运行 Elastic Agent 的详细信息和限制,请参阅 在没有管理权限的情况下运行 Elastic Agent。
请注意,如果代理当前已注册包含 Elastic Defend 集成的策略,则会阻止将正在运行的 Elastic Agent 更改为 unprivileged
模式。
示例
编辑elastic-agent unprivileged
elastic-agent upgrade
编辑将当前正在运行的 Elastic Agent 升级到指定的版本。这应该仅用于以独立模式运行的代理。在 Fleet 中注册的代理应该通过 Fleet 升级。
概要
编辑elastic-agent upgrade <version> [--source-uri <string>] [--help] [flags]
选项
编辑-
版本
- 要升级到的 Elastic Agent 版本。
-
--source-uri <字符串>
- 从中下载新版本的源 URI。默认情况下,Elastic Agent 使用 Elastic Artifacts URL。
-
--skip-verify
- 跳过软件包验证过程。不建议使用此选项,因为它不安全。
-
--pgp-path <字符串>
- 使用本地存储的 PGP 密钥副本验证升级包。
-
--pgp-uri <字符串>
- 使用指定的在线 PGP 密钥验证升级包。
-
--help
- 显示
upgrade
命令的帮助。
有关使用 --skip-verify
、--pgp-path <字符串>
和 --pgp-uri <字符串>
包验证选项的详细信息,请参阅 验证 Elastic Agent 包签名。
有关更多标志,请参阅 全局标志。
示例
编辑elastic-agent upgrade 7.10.1
elastic-agent logs
编辑显示正在运行的 Elastic Agent 的日志。
概要
编辑elastic-agent logs [--follow] [--number <int>] [--component <string>] [--no-color] [--help] [global-flags]
选项
编辑-
--follow
或-f
- 跟踪日志更新,直到命令中断(例如使用
Ctrl-C
)。 -
--number <int>
或-n <int>
- 要打印的日志行数。如果启用日志跟踪,则会影响初始输出。
-
--component <字符串>
或-C <字符串>
- 根据组件名称过滤日志。
-
--no-color
- 禁用基于每个条目的日志级别的颜色。
-
--help
- 显示
logs
命令的帮助。
有关更多标志,请参阅 全局标志。
示例
编辑elastic-agent logs -n 100 -f -C "system/metrics-default"
elastic-agent version
编辑显示 Elastic Agent 的版本。
概要
编辑elastic-agent version [--help] [global-flags]
选项
编辑-
--help
- 显示
version
命令的帮助。
有关更多标志,请参阅 全局标志。
示例
编辑elastic-agent version