Accesslog not captured in OTEL consul integration

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'

Answering my own question. The protocol error was because of the service prot mistake. The it was fixed after setting the annotation on otel collector and service default as below

podAnnotations:
consul.hashicorp.com/connect-service-port: '4317'

apiVersion: consul.hashicorp.com/v1alpha1 kind: ServiceDefaults metadata: name: otel-collector-opentelemetry-collector namespace: default spec: protocol: grpc