v1.5.0
版本发布时间: 2024-04-19 15:35:48
grafana/beyla最新发布版本:v1.5.2(2024-04-23 22:07:49)
Highlights
Kubernetes: add support for pod matching based on labels by @msvechla
This change adds a new selector property k8s_pod_labels
to the discovery.services
configuration section. This selector property will limit the instrumentation to the applications running in the Pods having labels with matching keys and values.
Kudos for @msvechla for its contribution.
Direct generation of span metrics and service graph metrics
Beyla 1.5 can generate application metrics in span metrics/service graph format directly, replicating how metrics are derived from application traces. This allows for better support and integration with products which rely on span metrics, such as Grafana Cloud Application Observability, where the application traces are sampled, and therefore the span metrics are inaccurate.
To enable span or service graph metrics, add the application_span
or application_service_graph
values to the BEYLA_OTEL_METRICS_FEATURES
or BEYLA_PROMETHEUS_FEATURES
configuration properties. Check the Beyla configuration documentation for more details.
Some improvements in network metrics generation
⚠️ Network metrics is still an experimental feature under active development. Expect breaking changes in future Beyla versions.
Network metrics now can be exported as Prometheus, as an alternative to OpenTelemetry. To enable it, just set the BEYLA_PROMETHEUS_PORT
configuration value when BEYLA_NETWORK_METRICS
is enabled.
You can filter metrics by Internet protocol. For example, you could restrict the network metrics only to UDP
traffic. The BEYLA_NETWORK_PROTOCOLS
and BEYLA_NETWORK_EXCLUDE_PROTOCOLS
will let you enumerate which protocols to accept
or exclude.
To reduce cardinality of Network metrics, either in Prometheus or OpenTelemetry, Beyla will stop reporting the network metrics between two endpoints when there is unobserved traffic between both endpoints during 5 minutes. You can override the default 5-minutes value with the BEYLA_OTEL_METRICS_TTL
or BEYLA_PROMETHEUS_TTL
configuration options. This feature is not yet available for application-level metrics.
Finally, the following attributes can be now added to the network metrics: src.port
, dst.port
and transport
.
Check documentation for more configuration details.
Fixing long response tracking
Fixed a bug present in previous versions of Beyla, that prevented Beyla from properly measuring the response time of long responses (for example, a data stream or downloading a large file).
Complete cahngelog
Bug fixes 🐛
- Fix Go http/grpc bad data by @grcevski in https://github.com/grafana/beyla/pull/751
- Grafana: fix metric names for dashboard by @marevers in https://github.com/grafana/beyla/pull/678
- Fix hardcoded offsets for http2 context propagation by @grcevski in https://github.com/grafana/beyla/pull/676
- Grafana: fix response code labels for dashboard by @marevers in https://github.com/grafana/beyla/pull/689
- Better client detection for kprobes by @grcevski in https://github.com/grafana/beyla/pull/688
- Read the Go server connection info reliably by @grcevski in https://github.com/grafana/beyla/pull/716
- Getting rid of K8s library warning messages by @mariomac in https://github.com/grafana/beyla/pull/734
Other changes/additions
- Better way to inject headers in gRPC by @grcevski in https://github.com/grafana/beyla/pull/672
- Remove stray debug code by @grcevski in https://github.com/grafana/beyla/pull/687
- Fix traces receiver for Grafana Agent by @marctc in https://github.com/grafana/beyla/pull/690
- Update cilium library to v0.13.2 by @mariomac in https://github.com/grafana/beyla/pull/685
- Add support for pod matching based on labels by @msvechla in https://github.com/grafana/beyla/pull/694
- Increase Refresh Interval in Sample Dashboard by @SeamusGrafana in https://github.com/grafana/beyla/pull/701
- OTEL exporter: separate metrics by features by @mariomac in https://github.com/grafana/beyla/pull/697
- Fix Spans ID creation for OTEL Traces receiver by @marctc in https://github.com/grafana/beyla/pull/703
- Make prometheus registry configurable by @marctc in https://github.com/grafana/beyla/pull/702
- Revert cilium lib to 0.12.3 by @mariomac in https://github.com/grafana/beyla/pull/705
- NetO11y: refactor attributes filter to be prometheus-ready by @mariomac in https://github.com/grafana/beyla/pull/704
- Move transform package to pkg directory by @marctc in https://github.com/grafana/beyla/pull/706
- RED Metrics Dashboard now supports multiple metric names by @mariomac in https://github.com/grafana/beyla/pull/707
- Track black box multi network interface by @grcevski in https://github.com/grafana/beyla/pull/698
- Prometheus exporter for network metrics by @mariomac in https://github.com/grafana/beyla/pull/708
- Document Network Prometheus exporter by @mariomac in https://github.com/grafana/beyla/pull/712
- Add support for tracking properly large responses by @grcevski in https://github.com/grafana/beyla/pull/710
- Reduce size of the http2 code by @grcevski in https://github.com/grafana/beyla/pull/711
- Automatic update of offsets.json by @github-actions in https://github.com/grafana/beyla/pull/714
- Link to rendered tutorial docs rather than the source files by @fstab in https://github.com/grafana/beyla/pull/686
- Network metrics: prometheus expirer by @mariomac in https://github.com/grafana/beyla/pull/715
- Automatic update of offsets.json by @github-actions in https://github.com/grafana/beyla/pull/719
- Helm chart by @khushijain21 @wasim-nihal in https://github.com/grafana/beyla/pull/642
- Update Go version to 1.22 + update and fix linters by @mariomac in https://github.com/grafana/beyla/pull/674
- Change Agent to Alloy by @grafsean in https://github.com/grafana/beyla/pull/727
- Add network ports as available attributes in network observability by @grcevski in https://github.com/grafana/beyla/pull/724
- Rename Grafana Agent to Alloy in code by @marctc in https://github.com/grafana/beyla/pull/728
- Automatic update of offsets.json by @github-actions in https://github.com/grafana/beyla/pull/726
- Network metrics agent without using the Traffic Control ebpf interface by @grcevski in https://github.com/grafana/beyla/pull/721
- Change Go to use net.FD for peer and host by @grcevski in https://github.com/grafana/beyla/pull/725
- Add option for direct Beyla spanmetric generation by @grcevski in https://github.com/grafana/beyla/pull/731
- Add instrumentation for
sql.Exec
by @marctc in https://github.com/grafana/beyla/pull/733 - Implement prometheus scrape span metrics by @grcevski in https://github.com/grafana/beyla/pull/735
- Remove gin specific instrumentation by @grcevski in https://github.com/grafana/beyla/pull/738
- Update unprivileged documentation to require NET_RAW by @dashpole in https://github.com/grafana/beyla/pull/730
- Allow customizing the base path and don't mount the BPF fs if it is already mounted by @dashpole in https://github.com/grafana/beyla/pull/741
- Updated the pipes library by @mariomac in https://github.com/grafana/beyla/pull/736
- Support transport protocol as network metric attribute by @mariomac in https://github.com/grafana/beyla/pull/744
- Finish K8s informers when the context is cancelled by @mariomac in https://github.com/grafana/beyla/pull/747
- Makefile: automatically update prereq binaries after version changes by @mariomac in https://github.com/grafana/beyla/pull/748
- Support network metrics in helm chart by @mariomac in https://github.com/grafana/beyla/pull/743
- Network metrics: Expire old metrics for OTEL exporter by @mariomac in https://github.com/grafana/beyla/pull/720
- Add example of Kubernetes instrumentation with Alloy by @marctc in https://github.com/grafana/beyla/pull/750
- Shorten K8s integration tests time by @mariomac in https://github.com/grafana/beyla/pull/749
- update network metrics pipeline doc by @mariomac in https://github.com/grafana/beyla/pull/756
- Added more descriptive failing messages to flaky integration test by @mariomac in https://github.com/grafana/beyla/pull/755
- Network metrics: filter by transport protocol by @mariomac in https://github.com/grafana/beyla/pull/752
- Update helm chart Beyla version by @mariomac in https://github.com/grafana/beyla/pull/754
- Add support for directly generating span graphs by @grcevski in https://github.com/grafana/beyla/pull/745
- Document protocols filter by @mariomac in https://github.com/grafana/beyla/pull/753
New Contributors
- @marevers made their first contribution in https://github.com/grafana/beyla/pull/678
- @msvechla made their first contribution in https://github.com/grafana/beyla/pull/694
- @SeamusGrafana made their first contribution in https://github.com/grafana/beyla/pull/701
- @khushijain21 made their first contribution in https://github.com/grafana/beyla/pull/642
- @dashpole made their first contribution in https://github.com/grafana/beyla/pull/730
Full Changelog: https://github.com/grafana/beyla/compare/v1.4.1...v1.5.0
1、 beyla-linux-amd64-v1.5.0.tar.gz 30.37MB
2、 beyla-linux-arm64-v1.5.0.tar.gz 28.41MB