APM Server 命令参考
编辑

这些命令仅适用于 APM Server 二进制安装方法。

APM Server 提供了一个命令行界面,用于启动 APM Server 和执行常见任务,例如测试配置文件。

命令行还支持用于控制全局行为的全局标志

如果以下情况,请使用 sudo 运行以下命令:

  • 配置文件由 root 所有,或者
  • APM Server 配置为捕获需要 root 访问权限的数据

此处描述的某些功能需要 Elastic 许可证。有关更多信息,请参阅https://elastic.ac.cn/subscriptions许可证管理

命令

apikey

管理 APM 代理和服务器之间通信的 API 密钥。

在 8.6.0 中已弃用。

用户应通过 Kibana 或 Elasticsearch REST API 创建 API 密钥。请参阅API 密钥

export

将配置、索引模板或 ILM 策略导出到标准输出。

help

显示任何命令的帮助。

keystore

管理密钥库

run

运行 APM Server。如果您在不指定命令的情况下启动 APM Server,则默认使用此命令。

test

测试配置。

version

显示有关当前版本的信息。

另请参阅全局标志

apikey 命令编辑

此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力修复任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 约束。

在 8.6.0 中已弃用。

用户应通过 Kibana 或 Elasticsearch REST API 创建 API 密钥。请参阅API 密钥

APM 代理和 APM Server 之间的通信现在支持在授权标头中发送 API 密钥。APM Server 提供了一个 apikey 命令,该命令可以创建、验证、使 API 密钥失效,并显示有关代理/服务器通信的 API 密钥的信息。大多数操作都需要 manage_own_api_key 集群权限,并且您必须确保正确配置 apm-server.api_keyoutput.elasticsearch

概要

apm-server apikey SUBCOMMAND [FLAGS]

子命令

create

创建具有指定权限的 API 密钥。没有必需的标志。

请求创建 API 密钥的用户需要拥有 APM Server 使用的 APM 权限。默认情况下,超级用户拥有这些权限。

展开以获取有关将这些权限分配给其他用户的更多信息

要创建具有创建和管理 API 密钥所需权限的 APM Server 用户

  1. 创建一个名为 apm_api_keyAPI 密钥角色,该角色具有以下 cluster 级别的权限

    权限 目的

    manage_own_api_key

    允许 APM Server 创建、检索和使 API 密钥失效

  2. 根据API 密钥角色的用途,还要分配相应的 apm 应用程序级权限

    • 接收代理配置,请分配 config_agent:read
    • 摄取代理数据,请分配 event:write
    • 上传源映射,请分配 sourcemap:write
info
查询 API 密钥。需要 --id--name
invalidate
使 API 密钥失效。需要 --id--name
verify
检查凭据字符串是否具有给定的权限。需要 --credentials

标志

--agent-config
代理远程读取配置所必需。对 createverify 子命令有效。与 create 一起使用时,将 config_agent:read 权限授予创建的密钥。与 verify 一起使用时,请求 config_agent:read 权限。
--credentials CREDS
verify 子命令所必需。指定要检查其权限的凭据。凭据是 API 密钥的 id:api_key 的 base64 编码表示形式。
--expiration TIME
create 一起使用时,指定密钥的过期时间,例如“1d”(默认为永不过期)。
--id ID
API 密钥的 ID。对 infoinvalidate 子命令有效。与 info 一起使用时,查询指定的 ID。与 invalidate 一起使用时,删除指定的 ID。
--ingest
摄取事件所必需。对 createverify 子命令有效。与 create 一起使用时,将 event:write 权限授予创建的密钥。与 verify 一起使用时,请求 event:write 权限。
--json
以 JSON 格式打印命令的输出。对所有 apikey 子命令有效。
--name NAME
API 密钥的名称。对 createinfoinvalidate 子命令有效。与 create 一起使用时,指定要创建的 API 密钥的名称(默认值:“apm-key”)。与 info 一起使用时,指定要查询的 API 密钥(可能存在多个匹配项)。与 invalidate 一起使用时,指定要删除的 API 密钥(可能存在多个匹配项)。
--sourcemap
上传源映射所必需。对 createverify 子命令有效。与 create 一起使用时,将 sourcemap:write 权限授予创建的密钥。与 verify 一起使用时,请求 sourcemap:write 权限。
--valid-only
info 一起使用时,仅返回有效的 API 密钥(未过期或失效)。

另请参阅全局标志

示例

apm-server apikey create --ingest --agent-config --name example-001
apm-server apikey info --name example-001 --valid-only
apm-server apikey invalidate --name example-001

有关更多信息,请参阅API 密钥

export 命令编辑

将配置、索引模板或 ILM 策略导出到标准输出。您可以使用此命令快速查看您的配置或查看索引模板或 ILM 策略的内容。

概要

apm-server export SUBCOMMAND [FLAGS]

子命令

config
将当前配置导出到标准输出。如果您使用 -c 标志,此命令将导出在指定文件中定义的配置。
template
将索引模板导出到标准输出。您可以指定 --es.version--index 标志,以进一步定义导出的内容。此外,您可以通过 --dir 定义一个目录,将模板导出到文件而不是 stdout
ilm-policy
将索引生命周期管理策略导出到标准输出。您可以指定 --es.version 和一个 --dir,将策略导出到文件而不是导出到 stdout

标志

--es.version VERSION
template一起使用时,导出与指定版本兼容的索引模板。与ilm-policy一起使用时,如果为 ILM 启用了指定的 ES 版本,则导出 ILM 策略。
-h, --help
显示 export 命令的帮助。
--index BASE_NAME
template一起使用时,设置用于索引模板的基本名称。如果未指定此标志,则默认基本名称为 apm-server
--dir DIRNAME
定义一个目录,将模板和 ILM 策略导出到该目录作为文件,而不是将它们打印到 stdout

另请参阅全局标志

示例

apm-server export config
apm-server export template --es.version 8.17.0 --index myindexname
help 命令编辑

显示任何命令的帮助。如果未指定命令,则显示 run 命令的帮助。

概要

apm-server help COMMAND_NAME [FLAGS]
COMMAND_NAME
指定要显示帮助的命令的名称。

标志

-h, --help
显示 help 命令的帮助。

另请参阅全局标志

示例

apm-server help export
keystore 命令编辑

管理密钥库

概要

apm-server keystore SUBCOMMAND [FLAGS]

子命令

add KEY
将指定的密钥添加到密钥库。使用 --force 标志覆盖现有密钥。使用 --stdin 标志通过 stdin 传递值。
create
创建密钥库以保存密钥。使用 --force 标志覆盖现有密钥库。
list
列出密钥库中的密钥。
remove KEY
从密钥库中删除指定的密钥。

标志

--force
addcreate 子命令有效。与 add 一起使用时,覆盖指定的密钥。与 create 一起使用时,覆盖密钥库。
--stdin
add 一起使用时,使用 stdin 作为密钥值的源。
-h, --help
显示 keystore 命令的帮助。

另请参阅全局标志

示例

apm-server keystore create
apm-server keystore add ES_PWD
apm-server keystore remove ES_PWD
apm-server keystore list

有关更多示例,请参阅密钥库

run 命令编辑

运行 APM Server。如果您在不指定命令的情况下启动 APM Server,则默认使用此命令。

概要

apm-server run [FLAGS]

apm-server [FLAGS]

标志

-N, --N
禁用发布以进行测试。
--cpuprofile FILE
将 CPU 分析数据写入指定的文件。此选项对于排除 APM Server 故障很有用。
-h, --help
显示 run 命令的帮助。
--httpprof [HOST]:PORT
启动 HTTP 服务器进行分析。此选项对于排除 APM Server 故障和分析很有用。
--memprofile FILE
将内存分析数据写入指定的输出文件。此选项对于排除 APM Server 故障很有用。
--system.hostfs MOUNT_POINT
指定主机文件系统的挂载点,以用于监视主机。

另请参阅全局标志

示例

apm-server run -e

apm-server -e
test 命令编辑

测试配置。

概要

apm-server test SUBCOMMAND [FLAGS]

子命令

config
测试配置设置。
output
通过使用当前设置来测试 APM Server 是否可以连接到输出。

标志

-h, --help
显示 test 命令的帮助。

另请参阅全局标志

示例

apm-server test config
version 命令编辑

显示有关当前版本的信息。

概要

apm-server version [FLAGS]

标志

-h, --help
显示 version 命令的帮助。

另请参阅全局标志

示例

apm-server version
全局标志编辑

无论何时运行 APM Server,这些全局标志都可用。

-E, --E "SETTING_NAME=VALUE"

覆盖特定的配置设置。您可以指定多个覆盖。例如

apm-server -E "name=mybeat" -E "output.elasticsearch.hosts=['http://myhost:9200']"

此设置应用于当前正在运行的 APM Server 进程。APM Server 配置文件不会被更改。

-c, --c 文件
指定用于 APM Server 的配置文件。此处指定的文件相对于 path.config。如果未指定 -c 标志,则使用默认配置文件 apm-server.yml
-d, --d 选择器
为指定的选择器启用调试。对于选择器,您可以指定以逗号分隔的组件列表,或者可以使用 -d "*" 为所有组件启用调试。例如,-d "publisher" 会显示所有与发布者相关的消息。
-e, --e
将日志输出到 stderr 并禁用 syslog/文件输出。
-environment
出于日志记录目的,指定 APM Server 运行的环境。此设置用于在未配置日志输出时选择默认的日志输出。支持的值包括:systemdcontainermacos_servicewindows_service。如果指定了 systemdcontainer,APM Server 默认会将日志输出到 stdout 和 stderr。
--path.config
设置配置文件的路径。有关详细信息,请参阅安装布局部分。
--path.data
设置数据文件的路径。有关详细信息,请参阅安装布局部分。
--path.home
设置杂项文件的路径。有关详细信息,请参阅安装布局部分。
--path.logs
设置日志文件的路径。有关详细信息,请参阅安装布局部分。
--strict.perms
对配置文件启用严格的权限检查。默认值为 -strict.perms=true。有关详细信息,请参阅配置文件所有权
-v, --v
记录 INFO 级别的消息。