配置 OBI
了解如何配置 OBI。
OpenTelemetry 库为流行的编程语言和框架提供了遥测收集。然而,开始分布式跟踪可能很复杂。在某些编译型语言(如 Go 或 Rust)中,您必须手动将跟踪点添加到代码中。
OpenTelemetry eBPF 仪器 (OBI) 是一种自动仪器化工具,可轻松开始应用程序可观测性。OBI 使用 eBPF 自动检查应用程序可执行文件和操作系统网络层,并捕获与 Web 事务和速率错误持续时间 (RED) 指标相关的跟踪跨度,用于 Linux HTTP/S 和 gRPC 服务。所有数据捕获都在不修改应用程序代码或配置的情况下进行。
OBI 提供以下功能
OBI 运行需要以下条件
OBI 在以下 Linux 发行版上进行了测试
Ubuntu 20.04 LTS、21.04、22.04 LTS 和 23.04
CentOS 7、8 和 9
AlmaLinux 8、9
Rocky Linux 8、9
Red Hat Enterprise Linux 8、9
Debian 11、12
openSUSE Leap 15.3、15.4
SUSE Linux Enterprise Server 15 SP4
OBI 还支持基于 RedHat 的发行版:RHEL8、CentOS 8、Rocky8、AlmaLinux8 等,它们提供了回传 eBPF 相关补丁的 Kernel 4.18。
要仪器化 Go 程序,请至少使用 Go 1.17 进行编译。OBI 支持使用比当前稳定主版本晚 **不超过 3 个版本** 的 Go 主版本构建的 Go 应用程序。
执行 OBI 的管理访问权限。
OBI 也有其局限性。它仅提供通用指标和事务级别的跟踪跨度信息。仍然建议使用语言代理和手动仪器化,以便您可以指定要捕获的自定义属性和事件。
虽然大多数 eBPF 程序都需要提升的权限,但 OBI 允许您指定更细粒度的权限以使用最少必需权限运行,例如:CAP_DAC_READ_SEARCH、CAP_SYS_PTRACE、CAP_PERFMON、CAP_BPF、CAP_CHECKPOINT_RESTORE 等。
某些 OBI 功能需要进一步的权限,例如,使用 Linux Traffic Control 的网络可观测性探针需要 CAP_NET_ADMIN,但这需要您选择启用。
有关 OBI 所需能力的完整列表,请参阅 安全、权限和能力。
了解如何配置 OBI。
配置 OBI 以观察点对点网络指标。
了解如何设置和运行 OBI。
了解 OBI 可以导出的 HTTP/gRPC 指标。
了解 OBI 的分布式跟踪支持。
如何从客户端的角度测量总请求时间
OBI 所需的权限和能力
对 OBI 常见问题和错误进行故障排除
将 OBI 与 Cilium 一起运行时兼容性说明
概述如何计算默认 OBI 安装产生的指标的基数,同时考虑仪器化环境的大小和复杂性。