OBI 全局配置属性

配置适用于 OBI 核心的全局配置属性。

OBI 可以通过环境变量或通过 -config 命令行参数或 OTEL_EBPF_CONFIG_PATH 环境变量提供的 YAML 配置文件进行配置。环境变量的优先级高于配置文件中的属性。例如,在以下命令行中,OTEL_EBPF_LOG_LEVEL 选项将覆盖 config.yaml 中的任何 log_level 设置。

配置参数

OTEL_EBPF_LOG_LEVEL=debug obi -config /path/to/config.yaml

配置环境变量

OTEL_EBPF_LOG_LEVEL=debug OTEL_EBPF_CONFIG_PATH=/path/to/config.yaml obi

有关配置文件模板,请参阅 示例 YAML 配置文件

OBI 由一个组件管道组成,该管道从 HTTP 和 gRPC 应用程序生成、转换和导出跟踪。在 YAML 配置中,每个组件都有自己的顶级部分。

可选地,OBI 还提供网络级指标,有关更多信息,请参阅 网络指标文档

以下各节解释了适用于整个 OBI 配置的全局配置属性。

例如

trace_printer: json
shutdown_timeout: 30s
channel_buffer_len: 33
YAML
环境变量
描述类型默认值
(无 YAML)
OTEL_EBPF_AUTO_TARGET_EXE
通过 Glob 匹配可执行文件的完整路径来选择要进行检测的进程。字符串unset
open_port
OTEL_EBPF_OPEN_PORT
通过开放端口选择要进行检测的进程。接受端口和端口范围的逗号分隔列表。字符串unset
shutdown_timeout
OTEL_EBPF_SHUTDOWN_TIMEOUT
设置优雅关闭的超时时间。字符串“10s”
log_level
OTEL_EBPF_LOG_LEVEL
设置进程日志记录器的详细程度。有效值:DEBUGINFOWARNERROR字符串INFO
trace_printer
OTEL_EBPF_TRACE_PRINTER
以指定格式将检测到的跟踪打印到 stdout,请参阅 跟踪打印格式字符串disabled
enforce_sys_caps
OTEL_EBPF_ENFORCE_SYS_CAPS
控制 OBI 在启动时如何处理缺失的系统能力。布尔值false

可执行文件名匹配

此属性接受一个 glob,该 glob 与可执行命令行的完整内容进行匹配,包括可执行文件在文件系统上的位置目录。OBI 选择一个进程,或具有相似特征的多个进程。有关更详细的进程选择和分组,请参阅 服务发现文档

通过可执行文件名进行检测时,请选择一个在目标系统上匹配一个可执行文件的非歧义名称。例如,如果设置 OTEL_EBPF_AUTO_TARGET_EXE=*/server 并且有两个进程与 Glob 匹配,OBI 将同时选择这两个进程。请改用完整的应用程序路径进行精确匹配,例如 OTEL_EBPF_AUTO_TARGET_EXE=/opt/app/serverOTEL_EBPF_AUTO_TARGET_EXE=/server

如果同时设置了 OTEL_EBPF_AUTO_TARGET_EXEOTEL_EBPF_OPEN_PORT 属性,OBI 将仅选择同时满足两个选择条件的这两个可执行文件。

开放端口匹配

此属性接受端口或端口范围的逗号分隔列表。如果可执行文件匹配其中任何一个端口,OBI 将选择它。例如

OTEL_EBPF_OPEN_PORT=80,443,8000-8999

在此示例中,OBI 将选择任何打开了端口 80443 或介于 80008999 之间的任何端口的可执行文件。它可以选择一个进程或具有相似特征的多个进程。有关更详细的进程选择和分组,请遵循 服务发现文档 中的说明。

如果可执行文件打开了多个端口,指定其中一个端口就足以让 OBI 检测该应用程序所有端口上的所有 HTTP/S 和 gRPC 请求。目前,没有办法将检测限制在特定端口上的请求。

如果指定的端口范围很宽,例如 1-65535,OBI 将尝试执行拥有该范围内某个端口的所有进程。

如果同时设置了 OTEL_EBPF_AUTO_TARGET_EXEOTEL_EBPF_OPEN_PORT 属性,OBI 将仅选择同时满足两个选择条件的这两个可执行文件。

跟踪打印格式

此选项使用以下格式之一将任何检测到的跟踪打印到标准输出

  • disabled:禁用打印机
  • text:打印一行简洁的文本
  • json:打印一个紧凑的 JSON 对象
  • json_indent:打印一个缩进的 JSON 对象

系统能力

如果将 enforce_sys_caps 设置为 true 并且缺少必需的系统能力,OBI 将中止启动并记录缺失的能力。如果将此选项设置为 false,OBI 将仅记录缺失的能力。


最后修改于 2025 年 8 月 11 日:迁移 beyla 文档以支持 OBI (#7399) (c6df1ca9)