Beyla 全局配置属性
Beyla 可以通过环境变量或 YAML 配置文件进行配置,YAML 文件可以通过 -config
命令行参数或 BEYLA_CONFIG_PATH
环境变量指定。环境变量优先于配置文件中的属性。例如,在以下命令行中,BEYLA_OPEN_PORT
选项会覆盖 config.yaml 中的任何 open_port
设置
Config 参数
BEYLA_OPEN_PORT=8080 beyla -config /path/to/config.yaml
Config 环境变量
BEYLA_OPEN_PORT=8080 BEYLA_CONFIG_PATH=/path/to/config.yaml beyla
请参阅示例 YAML 配置文件,获取配置文件模板。
Beyla 由一个组件管道组成,这些组件生成、转换并从 HTTP 和 GRPC 应用程序导出追踪数据。在 YAML 配置中,每个组件都有自己的一级部分。
可选地,Beyla 还提供网络层面的指标,详情请参阅网络指标文档。
以下部分解释了适用于整个 Beyla 配置的全局配置属性
小写 YAML 选项 大写环境变量选项 | 描述 | 类型 | 默认值 |
---|---|---|---|
executable_name BEYLA_EXECUTABLE_NAME | 通过对完整的可执行文件路径进行正则表达式匹配来选择要埋点的进程。 | 字符串 | 未设置 |
open_port BEYLA_OPEN_PORT | 通过开放端口选择要埋点的进程。接受逗号分隔的端口列表和端口范围。 | 字符串 | 未设置 |
shutdown_timeout BEYLA_SHUTDOWN_TIMEOUT | 设置优雅关机超时时间 | 字符串 | “10s” |
service_name BEYLA_SERVICE_NAME | 已弃用 覆盖用于指标导出的埋点服务的名称。 | 字符串 | 请参阅服务发现 |
service_namespace BEYLA_SERVICE_NAMESPACE | 已弃用 为选定的服务分配命名空间。 | 字符串 | 请参阅服务发现 |
log_level BEYLA_LOG_LEVEL | 设置进程日志记录器详细级别。有效值:DEBUG , INFO , WARN , ERROR 。 | 字符串 | INFO |
trace_printer BEYLA_TRACE_PRINTER | 以指定格式将埋点追踪打印到标准输出,请参阅追踪打印器格式。 | 字符串 | 禁用 |
enforce_sys_caps BEYLA_ENFORCE_SYS_CAPS | 控制 Beyla 在启动时如何处理缺失的系统功能。 | 布尔值 | false |
可执行文件名匹配
此属性接受针对完整可执行命令行的正则表达式匹配,包括可执行文件在文件系统上的目录。Beyla 会选择一个进程或多个具有相似特征的进程。有关更详细的进程选择和分组,请参阅服务发现文档。
当您按可执行文件名进行埋点时,请选择与目标系统上的一个可执行文件匹配的非模糊名称。例如,如果您设置 BEYLA_EXECUTABLE_NAME=server
并且有两个进程与正则表达式匹配,Beyla 会同时选择这两个进程。在这种情况下,请使用完整的应用程序路径进行精确匹配,例如 BEYLA_EXECUTABLE_NAME=/opt/app/server
或 BEYLA_EXECUTABLE_NAME=/server
。
如果您设置了 executable_name
,则可执行文件也必须匹配任何 open_port
属性。
开放端口匹配
此属性接受以逗号分隔的端口列表或端口范围。如果可执行文件匹配任何端口,Beyla 将选择它。例如
open_port: 80,443,8000-8999
在此示例中,Beyla 会选择任何打开端口 80
、443
或 8000
到 8999
之间任何端口的可执行文件。它可以选择一个进程或多个具有相似特征的进程。有关更详细的进程选择和分组,请按照服务发现文档中的说明进行操作。
如果一个可执行文件打开了多个端口,指定其中一个端口就足以让 Beyla 对所有应用程序端口上的所有 HTTP/S 和 GRPC 请求进行埋点。目前,无法将埋点限制在特定端口的请求上。
如果指定的端口范围很宽,例如 1-65535
,Beyla 会尝试执行该范围内拥有任何一个端口的所有进程。
如果您设置了 executable_name
,则可执行文件也必须匹配任何 open_port
属性。
服务名称和命名空间
这些配置选项已弃用。
定义这些属性相当于在 discovery.services
YAML 部分添加一个 name
条目。当 Beyla 的单个实例对多个进程进行埋点时,即使这些进程不同,它们也会共享相同的服务名称。要为多个服务指定不同的名称,请参阅服务发现文档中关于如何覆盖服务名称和命名空间的说明。
追踪打印器格式
此选项使用以下格式之一将任何埋点追踪打印到标准输出
格式 | 描述 |
---|---|
禁用 | 禁用打印器 |
text | 打印一行简洁的文本 |
json | 打印一个紧凑的 JSON 对象 |
json_indent | 打印一个带缩进的 JSON 对象 |
系统功能
如果您将 enforce_sys_caps
设置为 true 且所需的系统功能缺失,Beyla 将中止启动并记录缺失的功能。如果您将此选项设置为 false
,Beyla 将只记录缺失的功能。