KrakenD Community Edition v2.6 updates! Enhancements include improved observability, plugin development tools, and JWT validation. This release introduces major improvements and OpenTelemetry integration. Plus, developers now have a new testing command for plugins and access to additional data for more creative plugin development.
Introducing OpenTelemetry
KrakenD has relied on OpenCensus or its native component for telemetry integration, ensuring reliable service for over six years. Now, it’s adopting the more advanced OpenTelemetry framework.
With OpenTelemetry (OTEL), KrakenD maintains comprehensive, unified, and vendor-neutral observability. OTEL simplifies integration with various systems without needing new exporters, offering deeper insights into application performance compared to OpenCensus. This includes identifying bottlenecks, latency issues, and error diagnostics more accurately.
The OTLP Exporter allows metric pushing to local or remote collectors and supports exporting a port for Prometheus data scraping.
The Grafana dashboards have been redesigned and enhanced with an abundance of new metrics! Check out this video for a glimpse of the updated look (subtitles provided).
🚀 Summary of changes for CEv2.6
OpenTelemetry integration, extended plugin capabilities, updated Grafana Dashboard, and JWT fixes.
- Added the OpenTelemetry integration which will eventually replace the previous OpenCensus component.
- The new command
krakend test-plugin
tests if one or more given.so
files are loadable into KrakenD as the selected plugin type. - New Grafana dashboard available for Prometheus via OpenTelemetry
- Backend logs like
[BACKEND: /foo]
have mutated now to[BACKEND: GET /endpoint/{var} -> /foo]
showing their relationship with the endpoint. - All plugins have now the KrakenD context, allowing you to perform operations during shutdown
- Request and response modifier plugins have now access to the HTTP context. Reponse modifiers have also access to the internal request, knowing low-level details like which backend was selected.
- The JWT Validator adds a new field
auth_header_name
to read tokens from custom headers (thanks to @rodion-goritskov) - The JWT validator can read now scopes in array format in addition to the space-separated list (thanks to @pirm-in)
- The JWT signer returns now the
typ
(thanks to @AlyHKafoury) - The audit command includes new validations and security recommendations, and fixes a false positive on the sequential rule.
- Fixed hostname reporting on Logstash (thanks to @lxdraw)
- Fixed a bug that prevented having multiple backends using Async Agents
- Removed from schema previosuly deprecated fields
allow_insecure_connections
in the root. Must be declared underclient_tls.allow_insecure_connections
now. - Removed from schema previously deprecated
prefetch_size
andprefetch_count
attributes from AMQP. These attributes did not have any effect in the software. - The telemetry exporters based in
telemetry/opencensus
, although they are still available, won’t receive further updates and will be deprecated in the future. All efforts are focused on OpenTelemetry instead. - The telemetry exporter
telemetry/influx
is still available, but won’t receive further updates and will be deprecated in the future. All efforts are focused on OpenTelemetry instead.