APM Server 命令参考
Elastic Stack
这些命令仅适用于 APM Server 二进制文件安装方法。
APM Server 提供了一个命令行界面,用于启动 APM Server 和执行常见任务,例如测试配置文件。
该命令行还支持用于控制全局行为的全局标志。
如果满足以下任一条件,请使用 sudo
运行以下命令
- 配置文件归
root
所有,或 - APM Server 配置为捕获需要
root
访问权限的数据
此处描述的某些功能需要 Elastic 许可证。有关更多信息,请参阅 https://elastic.ac.cn/subscriptions 和 许可证管理。
命令 | |
---|---|
apikey |
管理 APM Agent 和 Server 之间的通信的 API 密钥。 此功能已在 8.6.0 中弃用。 通过 Kibana 或 Elasticsearch REST API 创建 API 密钥。请参阅 API 密钥。 |
export |
将配置、索引模板或 ILM 策略导出到 stdout。 |
help |
显示任何命令的帮助信息。 |
keystore |
管理密钥库。 |
run |
运行 APM Server。如果启动 APM Server 时未指定命令,则默认使用此命令。 |
test |
测试配置。 |
version |
显示有关当前版本的信息。 |
另请参阅全局标志。
此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。
用户应通过 Kibana 或 Elasticsearch REST API 创建 API 密钥。请参阅 API 密钥。
APM Agent 和 APM Server 之间的通信现在支持在 Authorization 标头中发送 API 密钥。APM Server 提供了一个 apikey
命令,可以创建、验证、使失效以及显示有关 Agent/Server 通信的 API 密钥的信息。大多数操作需要 manage_own_api_key
集群权限,并且必须确保 apm-server.api_key
或 output.elasticsearch
配置正确。
概要
apm-server apikey SUBCOMMAND [FLAGS]
子命令
create
-
使用指定的权限创建 API 密钥。没有必需的标志。
请求创建 API 密钥的用户需要拥有 APM Server 使用的 APM 权限。默认情况下,超级用户具有这些权限。
展开以获取有关将这些权限分配给其他用户的更多信息
要创建具有创建和管理 API 密钥所需权限的 APM Server 用户
创建一个API 密钥角色,例如名为
apm_api_key
,它具有以下cluster
级别的权限权限 目的 manage_own_api_key
允许 APM Server 创建、检索和使 API 密钥失效 根据API 密钥角色的用途,还可以分配适当的
apm
应用程序级别的权限- 要接收 Agent 配置,请分配
config_agent:read
。 - 要提取 Agent 数据,请分配
event:write
。 - 要上传源映射,请分配
sourcemap:write
。
- 要接收 Agent 配置,请分配
info
- 查询 API 密钥。需要
--id
或--name
。 invalidate
- 使 API 密钥失效。需要
--id
或--name
。 verify
- 检查凭据字符串是否具有给定的权限。需要
--credentials
。
标志
--agent-config
- Agent 远程读取配置时需要。对
create
和verify
子命令有效。与create
一起使用时,会将config_agent:read
权限授予创建的密钥。与verify
一起使用时,会请求config_agent:read
权限。 --credentials CREDS
verify
子命令需要。指定要检查权限的凭据。凭据是 API 密钥的id:api_key
的 base64 编码表示形式。--expiration TIME
- 与
create
一起使用时,指定密钥的过期时间,例如“1d”(默认为从不过期)。 --id ID
- API 密钥的 ID。对
info
和invalidate
子命令有效。与info
一起使用时,会查询指定的 ID。与invalidate
一起使用时,会删除指定的 ID。 --ingest
- 提取事件时需要。对
create
和verify
子命令有效。与create
一起使用时,会将event:write
权限授予创建的密钥。与verify
一起使用时,会请求event:write
权限。 --json
- 将命令的输出打印为 JSON。对所有
apikey
子命令有效。 --name NAME
- API 密钥的名称。对
create
、info
和invalidate
子命令有效。与create
一起使用时,指定要创建的 API 密钥的名称(默认值:“apm-key”)。与info
一起使用时,指定要查询的 API 密钥(可能存在多个匹配项)。与invalidate
一起使用时,指定要删除的 API 密钥(可能存在多个匹配项)。 --sourcemap
- 上传源映射时需要。对
create
和verify
子命令有效。与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 密钥。
将配置、索引模板或 ILM 策略导出到 stdout。您可以使用此命令快速查看您的配置,或查看索引模板或 ILM 策略的内容。
概要
apm-server export SUBCOMMAND [FLAGS]
子命令
config
- 将当前配置导出到 stdout。如果使用
-c
标志,则此命令会导出在指定文件中定义的配置。 template
- 将索引模板导出到 stdout。您可以指定
--es.version
和--index
标志来进一步定义要导出的内容。此外,您可以通过--dir
定义一个目录,将模板导出到文件而不是stdout
。
ilm-policy
- 将索引生命周期管理策略导出到 stdout。您可以指定
--es.version
和--dir
,将策略导出为文件,而不是导出到stdout
。
标志
--es.version VERSION
- 与
template
一起使用时,会导出与指定版本兼容的索引模板。与ilm-policy
一起使用时,如果指定的 ES 版本已为 ILM 启用,则会导出 ILM 策略。 -h, --help
- 显示
export
命令的帮助信息。 --index BASE_NAME
- 与
template
一起使用时,设置用于索引模板的基本名称。如果未指定此标志,则默认基本名称为apm-server
。 --dir DIRNAME
- 定义一个目录,将模板和 ILM 策略导出为文件,而不是将它们打印到
stdout
。
另请参阅全局标志。
示例
apm-server export config
apm-server export template --es.version 9.0.0 --index myindexname
显示任何命令的帮助信息。如果未指定命令,则显示 run
命令的帮助信息。
概要
apm-server help COMMAND_NAME [FLAGS]
COMMAND_NAME
- 指定要显示帮助的命令的名称。
标志
-h, --help
- 显示
help
命令的帮助信息。
另请参阅全局标志。
示例
apm-server help export
管理密钥库。
概要
apm-server keystore SUBCOMMAND [FLAGS]
子命令
add KEY
- 将指定的键添加到密钥库。使用
--force
标志覆盖现有密钥。使用--stdin
标志通过stdin
传递值。 create
- 创建一个用于保存密钥的密钥库。使用
--force
标志覆盖现有密钥库。 list
- 列出密钥库中的密钥。
remove KEY
- 从密钥库中删除指定的键。
标志
--force
- 对
add
和create
子命令有效。与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
有关更多示例,请参阅 密钥库。
运行 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
测试配置。
概要
apm-server test SUBCOMMAND [FLAGS]
子命令
config
- 测试配置设置。
output
- 通过使用当前设置测试 APM Server 是否可以连接到输出。
标志
-h, --help
- 显示
test
命令的帮助信息。
另请参阅全局标志。
示例
apm-server test config
显示有关当前版本的信息。
概要
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 FILE
- 指定用于 APM Server 的配置文件。您在此处指定的文件相对于
path.config
。如果未指定-c
标志,则使用默认配置文件apm-server.yml
。 -d, --d SELECTORS
- 为指定的选择器启用调试。 对于选择器,您可以指定以逗号分隔的组件列表,或者可以使用
-d "*"
为所有组件启用调试。 例如,-d "publisher"
显示所有与发布者相关的消息。 -e, --e
- 记录到 stderr 并禁用 syslog/文件输出。
-environment
- 出于日志记录目的,指定 APM Server 运行的环境。此设置用于在未配置日志输出时选择默认日志输出。支持的值为:
systemd
、container
、macos_service
和windows_service
。如果指定了systemd
或container
,APM Server 默认将日志记录到 stdout 和 stderr。 --path.config
- 设置配置文件的路径。 有关详细信息,请参阅安装布局部分。
--path.data
- 设置数据文件的路径。 有关详细信息,请参阅安装布局部分。
--path.home
- 设置杂项文件的路径。 有关详细信息,请参阅安装布局部分。
--path.logs
- 设置日志文件的路径。 有关详细信息,请参阅安装布局部分。
--strict.perms
- 对配置文件设置严格的权限检查。 默认为
-strict.perms=true
。 有关更多信息,请参阅配置文件所有权。 -v, --v
- 记录 INFO 级别的消息。