@@ -85,55 +85,63 @@ For a complete list of changes and upgrade notes, see the
8585If you want to explore the new NGINX example, see the
8686[ example walkthrough] ( https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation/tree/v0.7.0/examples/nginx ) .
8787
88- ## Requirements
88+ ## How OBI works
8989
90- OBI requires the following to run:
91-
92- - Linux kernel version 5.8 or later (or 4.18 for Redhat Enterprise Linux)
93- - An x86_64 or arm64 processor
94- - Runtime support for eBPF (most modern Linux distributions)
95- - Administrative privileges (root access) or the specific capabilities listed in
96- the [ configuration reference] ( security/ )
90+ The following diagram shows the high-level OBI architecture and where eBPF
91+ instrumentation fits into the telemetry pipeline.
9792
9893![ OBI eBPF architecture] ( ./ebpf-arch.svg )
9994
10095## Compatibility
10196
102- OBI is tested with the following Linux distributions:
97+ OBI supports Linux environments that meet the following requirements:
98+
99+ | Requirement | Supported |
100+ | :--------------- | :-------------------------------------------------------------------- |
101+ | CPU architecture | ` amd64 ` , ` arm64 ` |
102+ | Linux kernel | ` 5.8+ ` , or RHEL-family Linux ` 4.18+ ` with the required eBPF backports |
103+ | Kernel features | BTF |
104+ | Privileges | Root, or the Linux capabilities required by the enabled OBI features |
105+
106+ OBI publishes the following supported release artifacts:
107+
108+ | Artifact | Supported platforms |
109+ | :----------------------------------------------- | :--------------------------- |
110+ | ` obi ` binary archive | Linux ` amd64 ` , Linux ` arm64 ` |
111+ | ` k8s-cache ` binary archive | Linux ` amd64 ` , Linux ` arm64 ` |
112+ | ` otel/ebpf-instrument ` container image | Linux ` amd64 ` , Linux ` arm64 ` |
113+ | ` otel/ebpf-instrument-k8s-cache ` container image | Linux ` amd64 ` , Linux ` arm64 ` |
114+
115+ OBI can be deployed on standalone Linux hosts, in containers, and on Kubernetes
116+ when the environment meets the requirements above.
103117
104- - Ubuntu 20.04 LTS, 21.04, 22.04 LTS and 23.04
105- - CentOS 7, 8, and 9
106- - AlmaLinux 8, 9
107- - Rocky Linux 8, 9
108- - Red Hat Enterprise Linux 8, 9
109- - Debian 11, 12
110- - openSUSE Leap 15.3, 15.4
111- - SUSE Linux Enterprise Server 15 SP4
118+ OBI does not support non-Linux operating systems, Linux architectures other than
119+ ` amd64 ` and ` arm64 ` , Linux environments without BTF, or kernel versions earlier
120+ than Linux ` 5.8 ` outside the documented RHEL-family ` 4.18+ ` exception.
112121
113- - OBI also supports RedHat-based distributions: RHEL8, CentOS 8, Rocky8,
114- AlmaLinux8, and others, which ship a Kernel 4.18 that backports eBPF-related
115- patches.
122+ Feature-specific support details are documented in these guides:
116123
117- - For instrumenting Go programs, compile with at least Go 1.17. OBI support Go
118- applications built with a major ** Go version no earlier than 3 versions **
119- behind the current stable major release.
120- - Administrative access rights to execute OBI.
124+ - [ Distributed traces ] ( distributed-traces/ ) : context propagation support,
125+ runtime-specific requirements, and distributed tracing limitations
126+ - [ Export data ] ( configure/export-data/ ) : protocol, database, messaging, GenAI,
127+ GPU, and Go library instrumentation support
121128
122129## Limitations
123130
124- OBI has its limitations too. It only provides generic metrics and transaction
125- level trace span information. Language agents and manual instrumentation is
126- still recommended, so that you can specify the custom attributes and events you
127- want to capture.
131+ OBI provides application and protocol observability without code changes, but it
132+ does not replace language-level instrumentation in every scenario. Use language
133+ agents or manual instrumentation when you need custom spans,
134+ application-specific attributes, business events, or other in-process telemetry
135+ that eBPF-based instrumentation cannot derive automatically.
128136
129- While most eBPF programs require elevated privileges, OBI allows you to specify
130- finer grained permissions to run with minimum required permissions, such as:
131- ` CAP_DAC_READ_SEARCH ` , ` CAP_SYS_PTRACE ` , ` CAP_PERFMON ` , ` CAP_BPF ` ,
132- ` CAP_CHECKPOINT_RESTORE ` , and others.
137+ OBI can automatically capture network and protocol activity, but it cannot
138+ always recover application-specific details that are not visible from eBPF
139+ observation points.
133140
134- Some OBI functionality requires further permissions, for example using the
135- network observability probes with Linux Traffic Control requires
136- ` CAP_NET_ADMIN ` , but it's a feature you have to optionally enable.
141+ Some features also have additional caveats or narrower support than the core
142+ platform requirements. For details, refer to the feature-specific documentation
143+ for [ distributed traces] ( distributed-traces/ ) and
144+ [ exported instrumentation] ( configure/export-data/ ) .
137145
138146For a comprehensive list of capabilities required by OBI, refer to
139147[ Security, permissions and capabilities] ( security/ ) .
0 commit comments