DEV.co
Open-Source Observability · grafana

beyla

Grafana Beyla is an eBPF-based tool that automatically instruments web applications and gRPC services to collect observability data without code changes. It captures metrics and traces in OpenTelemetry and Prometheus formats, supporting HTTP/S, gRPC, SQL, Redis, Kafka, and MongoDB protocols across multiple programming languages.

Source: GitHub — github.com/grafana/beyla
2k
GitHub stars
184
Forks
Go
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositorygrafana/beyla
Ownergrafana
Primary languageGo
LicenseApache-2.0 — OSI-approved
Stars2k
Forks184
Open issues112
Latest releasev3.25.0 (2026-06-29)
Last updated2026-07-08
Sourcehttps://github.com/grafana/beyla

What beyla is

Beyla uses Linux eBPF to hook into application executables and OS networking layers at runtime, generating OpenTelemetry spans and RED metrics without application instrumentation. It requires Linux kernel 5.8+ with BTF support, elevated privileges (sudo or Kubernetes capabilities), and supports Go, Java, .NET, Node.js, Python, Ruby, and Rust applications.

Quickstart

Get the beyla source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/grafana/beyla.gitcd beyla# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Legacy or Third-Party Application Observability

Instrument existing applications where you cannot modify source code or add dependencies, enabling metrics and traces collection immediately.

Multi-Language Microservice Monitoring

Provide consistent observability across heterogeneous services (Go, Java, Python, .NET, etc.) without language-specific agent installation.

Kubernetes Cluster-Wide Protocol Tracing

Deploy as a DaemonSet or sidecar to capture HTTP/gRPC/SQL traffic across the cluster and feed metrics and traces to Grafana/Mimir/Tempo.

Implementation considerations

  • Kernel version and BTF availability must be verified before deployment; BTF is default on kernel 5.14+ but may require recompilation for older systems.
  • Go programs require compilation with Go 1.17 or later; version skew support is limited to 3 major versions behind current stable.
  • HTTPS instrumentation is currently limited to Go and libraries using libssl3; other languages only support HTTP.
  • Project is in transition to OpenTelemetry eBPF Instrumentation (OBI) upstream; new PRs should target the upstream repository unless documentation-only.
  • Elevated privileges (sudo, SYS_ADMIN capability, or privileged container) are mandatory; plan security and RBAC accordingly.

When to avoid it — and what to weigh

  • Kernel < 5.8 or No BTF Support — Beyla requires Linux kernel 5.8+ with BTF enabled; systems running older kernels or Windows/macOS are not supported.
  • No Elevated Privileges Available — Beyla requires `sudo` on bare hosts, `SYS_ADMIN` capability in containers, or privileged mode in Docker Compose; air-gapped or highly restricted environments may be impractical.
  • Existing Native Agent Investment — If you have already instrumented applications with language-specific agents (e.g., Java APM agents, Python tracing libraries), the overhead of running Beyla in parallel may be redundant.
  • Sub-Second Latency Sensitivity — eBPF overhead is minimal but non-zero; applications with strict sub-millisecond SLA requirements should validate impact in your environment.

License & commercial use

Apache License 2.0 (SPDX: Apache-2.0), a permissive OSI-approved license allowing commercial use, modification, and distribution with attribution and liability disclaimers.

Apache-2.0 permits commercial use without explicit licensing restrictions. However, consult internal legal review for compliance with your commercial deployment model and any upstream CNCF/OpenTelemetry project agreements that may apply as Beyla transitions to OBI.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityModerate
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

Beyla operates with elevated privileges (sudo/SYS_ADMIN) to access kernel eBPF subsystem; this is architecturally necessary but expands attack surface if compromised. No public security audit data is available in the provided materials. Kubernetes unprivileged example reduces blast radius to a DaemonSet/sidecar scope. eBPF programs are part of the binary and not user-configurable. Input validation and memory safety depend on the underlying Linux kernel and eBPF verifier. Review upstream OBI repository for any security disclosures or advisories.

Alternatives to consider

OpenTelemetry Instrumentation Libraries (language-specific agents)

Provide fine-grained, code-integrated observability but require code modification and language-specific setup; Beyla offers zero-code alternative at the cost of less detailed span context.

Envoy/Istio Service Mesh Observability

Captures network-level metrics and traces at the proxy layer; requires mesh control plane deployment but provides multi-language support without eBPF kernel constraints.

Datadog or Elastic APM Agents

Commercial or open-source hosted agents with deeper application-level instrumentation; require agent installation but include vendor-specific features and cloud integration.

Software development agency

Build on beyla with DEV.co software developers

Deploy Beyla to automatically capture metrics and traces without modifying your code. Works across languages and integrates with Grafana, Prometheus, and OpenTelemetry ecosystems.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

beyla FAQ

Does Beyla require code changes to my application?
No. Beyla uses eBPF to instrument applications at the OS and executable level without modifying source code or configuration.
What are the minimum kernel requirements?
Linux kernel 5.8 or higher with BTF (BPF Type Format) enabled. Most distributions with kernel 5.14+ have BTF enabled by default. Check for `/sys/kernel/btf/vmlinux` on your system.
Can Beyla instrument Windows or macOS applications?
No. Beyla is Linux-only and depends on eBPF, which is not available on Windows or macOS.
Does Beyla support HTTPS?
HTTPS support is currently limited to Go programs and libraries/languages using libssl3. HTTP/2 and gRPC are supported across languages.

Custom software development services

DEV.co is a software development agency delivering custom software development services to companies building on open source. Our software developers and web developers design, integrate, and ship production systems — spanning web development, APIs, AI, data, and cloud. If beyla is part of your open-source observability roadmap, our team can implement, customize, migrate, and maintain it.

Start Auto-Instrumenting Your Applications

Deploy Beyla to automatically capture metrics and traces without modifying your code. Works across languages and integrates with Grafana, Prometheus, and OpenTelemetry ecosystems.