I have a otel collector service running on the kubernetes cluster. The otel svc is
otel-collector-opentelemetry-collector ClusterIP 10.0.xx.xx 6831/UDP,14250/TCP,14268/TCP,4317/TCP,4318/TCP,9411/TCP 4h7m
The proxy defaults and service defaults are configured as follows
apiVersion: consul.hashicorp.com/v1alpha1
kind: ProxyDefaults
metadata:
name: global
namespace: default
spec:
envoyExtensions:
- arguments:
config:
grpcService:
target:
service:
name: otel-collector-opentelemetry-collector
namespace: otel-collector
name: builtin/otel-access-logging
apiVersion: consul.hashicorp.com/v1alpha1
kind: ServiceDefaults
metadata:
name: yelb-appserver
namespace: default
spec:
envoyExtensions:
- arguments:
config:
grpcService:
target:
service:
name: otel-collector-opentelemetry-collector
namespace: otel-collector
proxyType: connect-proxy
name: builtin/otel-access-logging
required: true
protocol: http
The OTEL collector is not enrolled in the consul service mesh. So the following annotation is added to yelb-appserver pod to allow outbound access to 4317 and 4318
consul.hashicorp.com/transparent-proxy-exclude-outbound-ports: 4317,4318
However, there are no access logs captued in OTEL. Is any configuration missing?
Followed the instructions in https://developer.hashicorp.com/consul/docs/envoy-extension/otel and referred Deploy Opentelemetry collector in service mesh
second trial with otel collector added to service mesh
added otel collector to cunsul mesh. But now on the yelb-appserver consul dataplane container there is the following error
2026-02-11T14:46:50.036Z+00:00 [debug] envoy.router(25) [Tags: "ConnectionId":"0","StreamId":"6241175984389416881"] router decoding headers:
':method', 'POST'
':path', '/opentelemetry.proto.collector.logs.v1.LogsService/Export'
':authority', 'otel-collector-opentelemetry-collector.default.dc1.internal.68f75898-209a-0c49-92fe-a775b96445e3.consul'
':scheme', 'http'
'te', 'trailers'
'content-type', 'application/grpc'
'x-envoy-internal', 'true'
'x-forwarded-for', '10.244.1.159'
2026-02-11T14:46:50.036Z+00:00 [debug] envoy.pool(25) [Tags: "ConnectionId":"21"] using existing fully connected connection
2026-02-11T14:46:50.036Z+00:00 [debug] envoy.pool(25) [Tags: "ConnectionId":"21"] creating stream
2026-02-11T14:46:50.036Z+00:00 [debug] envoy.router(25) [Tags: "ConnectionId":"0","StreamId":"6241175984389416881"] pool ready
2026-02-11T14:46:50.036Z+00:00 [debug] envoy.router(25) [Tags: "ConnectionId":"0","StreamId":"6241175984389416881"] router decoding data: 175
2026-02-11T14:46:50.036Z+00:00 [debug] envoy.client(25) [Tags: "ConnectionId":"21"] encode complete
2026-02-11T14:46:50.036Z+00:00 [debug] envoy.router(25) [Tags: "ConnectionId":"0","StreamId":"16092114228153433503"] cluster 'otel-collector-opentelemetry-collector.default.dc1.internal.68f75898-209a-0c49-92fe-a775b96445e3.consul' match for URL '/opentelemetry.proto.collector.logs.v1.LogsService/Export'
2026-02-11T14:46:50.036Z+00:00 [debug] envoy.router(25) [Tags: "ConnectionId":"0","StreamId":"16092114228153433503"] router decoding headers:
':method', 'POST'
':path', '/opentelemetry.proto.collector.logs.v1.LogsService/Export'
':authority', 'otel-collector-opentelemetry-collector.default.dc1.internal.68f75898-209a-0c49-92fe-a775b96445e3.consul'
':scheme', 'http'
'te', 'trailers'
'content-type', 'application/grpc'
'x-envoy-internal', 'true'
'x-forwarded-for', '10.244.1.159'