Instrument an application with Beyla
Grafana Beyla provides an easy-to-set-up eBPF instrumentation solution. Beyla automatically instruments network-level telemetry for all languages and frameworks and exports OTLP data.
Recommended setup for Grafana Cloud
Grafana Labs recommends that you set up OpenTelemetry components, including instrumentation and an OpenTelemetry Collector distribution, using one of the Grafana Cloud setup guides.
These opinionated guides make it easy to get started. They include all the binaries, configuration, and connection parameters you need to set up OpenTelemetry for Grafana Cloud.
Other setup methods
To explore more Beyla installation and configuration options, see the Beyla documentation.
Test your instrumentation
To verify successful instrumentation with Beyla, run your application with Beyla and fetch metrics from the exposed Prometheus endpoint:
curl http://localhost:9090/metrics
If you installed Beyla using the Grafana Helm chart, first run kubectl -n beyla port-forward <BEYLA_POD_NAME>
, replacing <BEYLA_POD_NAME>
with your Beyla pod name.
The curl request should return results similar to:
# HELP beyla_build_info A metric with a constant '1' value labeled by version, revision, branch, goversion from which Beyla was built, the goos and goarch for the build, and thelanguage of the reported services
# TYPE beyla_build_info gauge
beyla_build_info{goarch="arm64",goos="linux",goversion="go1.22.4",revision="b672ca01",target_lang="generic",version="b672ca01"} 1
beyla_build_info{goarch="arm64",goos="linux",goversion="go1.22.4",revision="b672ca01",target_lang="go",version="b672ca01"} 1
# HELP http_client_request_body_size_bytes size, in bytes, of the HTTP request body as sent from the client side
# TYPE http_client_request_body_size_bytes histogram
http_client_request_body_size_bytes_bucket{http_request_method="GET",http_response_status_code="200",http_route="/**",service_name="coredns",service_namespace="",target_instance="",le="0"} 2
http_client_request_body_size_bytes_bucket{http_request_method="GET",http_response_status_code="200",http_route="/**",service_name="coredns",service_namespace="",target_instance="",le="32"} 2