Before upgrading, review any configuration or breaking changes in the version you’re upgrading to and prior versions that affect your current installation.
Event Gateway breaking changes and known issues
1.3.x breaking changes
Review the changelog for all the changes in this release.
1.3.0
Breaking changes in the Event Gateway 1.3.0 release.
Debug and profiling endpoints disabled by default
The debug and profiling endpoints (/debug/pprof/*) are disabled by default and no longer share the health and metrics listener.
Because the profiling endpoints now have their own listener, you can restrict access to them without affecting health checks and metrics scraping.
To enable them, set KEG__RUNTIME__DEBUG_LISTENER_ADDRESS_PORT to the address and port the dedicated listener should use, for example 0.0.0.0:8081.
The KEG__ENABLE_DEBUG_ENDPOINTS boolean has been removed.
For more information, see the Event Gateway configuration reference.
Metrics renamed
The following metrics and labels have been renamed. Event Gateway still emits the old names as deprecated aliases during the migration window, so update your dashboards and alerts to the new names.
|
Old name |
New name |
|---|---|
kong.keg.lifecycle.*
|
kong.dataplane.lifecycle.*
|
kong.keg.component
|
kong.dataplane.component
|
kong.keg.kafka.response.received.errors
|
kong.keg.kafka.response.received_errors
|
kong.keg.kafka.response.sent.errors
|
kong.keg.kafka.response.sent_errors
|
kong.keg.konnect.analytics.*
|
kong.dataplane.analytics.*
|
The Kafka response error metrics were renamed because the old names were ambiguous.
The following metrics are deprecated:
|
Deprecated metric |
Replacement |
|---|---|
kong.keg.konnect.request.duration
|
http.client.request.duration with the kong.http.client.name label
|
kong.keg.konnect.analytics.queue.dropped
|
None |
otel.sdk.processor.log.errors
|
otel.sdk.processor.log.processed with the error.type="queue_full" attribute
|
For all metrics in 1.3.0, see the metrics reference.
Config poll interval removed
The KEG__CONFIG_POLL_INTERVAL environment variable has been removed.
The control plane and data plane protocol now uses long-polling, so the interval can no longer be configured.
1.2.x breaking changes
Review the changelog for all the changes in this release.
1.2.0
Deprecations and behavior changes in the Event Gateway 1.2.0 release.
Policy invocation result reflects the real policy result
Previously, the kong.keg.result label on kong.keg.kafka.policy.invocations reported success even when a policy failed under the mark, skip, or passthrough failure modes.
These invocations now report kong.keg.result=fail.
If you want to ignore failures handled by those modes, use the kong.keg.failure_mode label.
Missing fields in parsed-record CEL expressions are absent
Paths like record.value.content[...] that don’t exist are no longer placed in the context map, while explicit null values remain.
To check for a field before reading or comparing it, use '<path>' in record.value.content.
Deprecated metrics and headers
|
Deprecated |
Replacement |
|---|---|
kong.keg.kafka.decrypt.attempts, kong.keg.kafka.encrypt.attempts, kong.keg.kafka.kscheme.attempts, and kong.keg.kafka.schema.validation.attempts
|
The unified kong.keg.kafka.policy.invocations metric
|
kong.keg.konnect.analytics.bytes.sent
|
kong.keg.konnect.analytics.sent. The replacement counter is emitted alongside the deprecated one during the migration window.
|
The kong/sverr-{part} header of the schema_validation policy
|
kong/policy-failure-{konnect_id}, which carries the reason for the policy failure
|
1.1.x breaking changes
Review the changelog for all the changes in this release.
1.1.0
Breaking changes in the Event Gateway 1.1.0 release.
Environment variable prefix for data planes
The data plane configuration prefix has changed from KEG__KONNECT__ or KONNECT_ to KONG_KONNECT_.
The old environment variables are no longer accepted.
For example, to pass configuration settings to a new data plane, you would use:
docker run -d \
-e "KONG_KONNECT_REGION=us" \
-e "KONG_KONNECT_DOMAIN=konghq.com" \
-e "KONG_KONNECT_GATEWAY_CLUSTER_ID=your-gateway-id" \
-e "KONG_KONNECT_CLIENT_CERT=example-cert" \
-e "KONG_KONNECT_CLIENT_KEY=example-key" \
-p 19092-19101:19092-19101 \
kong/kong-event-gateway:1.1.0For more information about configuring data planes at startup and all options, see the Event Gateway configuration reference.
Metrics naming convention
Event Gateway metrics have been renamed to more closely follow OpenTelemetry semantic conventions.
Key changes:
- Delimiter change:
_>.(Prometheus > OTel convention) - Suffix stripping:
_count,_seconds,_ms, and_activesuffixes removed. The unit is now in metadata only. - Unit normalization: All durations are now in seconds. Previously, the metrics were a mix of seconds and ms.
- Label namespacing: Labels now use dotted namespaces (for example,
result>kong.keg.result). - Common labels changed:
topic>messaging.destination.namepolicy_konnect_*>kong.konnect.policy.*andkong.keg.policy.*
For example:
- Old metric:
kong_keg_kafka_backend_connection_error_count - New metric:
kong.keg.kafka.backend.connection.errors
Removed in 1.1:
|
1.0 Metric |
Description |
|---|---|
kong_keg_konnect_request_count
|
Konnect request count histogram.
Merged into kong.keg.konnect.request.duration and gained a http.response.status_code label.
|
New in 1.1:
|
1.1 Metric |
Description |
|---|---|
kong.keg.config.errors
|
Config loading error count. |
kong.keg.config.loaded
|
Config version loaded from CP. |
kong.keg.kafka.connection.errors
|
Proxied connections that have errors. |
kong.keg.kafka.decrypt.attempts
|
Decryption attempt count. |
kong.keg.kafka.encrypt.attempts
|
Encryption attempt count. |
kong.keg.kafka.kscheme.attempts
|
Kscheme script attempt count. |
kong.keg.kafka.policy.condition.failures
|
Policy condition execution errors. |
For all metrics in 1.1.0, see the metrics reference.