opentelemetry-cpp-contrib icon indicating copy to clipboard operation
opentelemetry-cpp-contrib copied to clipboard

otel-webserver-module: String field

Open lework opened this issue 2 years ago • 13 comments

nginx version: 1.22.0

otel-webserver-module: v1.0.3

nginx log:

[libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes.

lework avatar Jan 28 '23 10:01 lework

Hi @lework, We need more information on this for us to really understand the problem.

DebajitDas avatar Mar 03 '23 13:03 DebajitDas

config

NginxModuleEnabled ON;
NginxModuleOtelSpanExporter otlp;
NginxModuleOtelExporterEndpoint xxx.com:4317;
NginxModuleServiceName app;
NginxModuleServiceNamespace test;
NginxModuleServiceInstanceId app-hostname;
NginxModuleResolveBackends ON;
NginxModuleTraceAsError ON;

Only these logs

[libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes. 
[libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes. 
[libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes. 
[libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes. 
[libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes. 
[libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes. 
[libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes. 
[libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes. 
[libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes. 
[libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes. 
[libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes. 
[libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes. 
[libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes

lework avatar Mar 06 '23 02:03 lework

I have the same issue.

nginx version: 1.22.1

otel-webserver-module: v1.0.3

/etc/nginx/config.d/opentelemetry_module.conf:

    NginxModuleEnabled ON;
    NginxModuleOtelSpanExporter otlp;
    NginxModuleOtelExporterEndpoint http://otel-collector-collector.monitoring:4317;
    NginxModuleServiceName nginx-instrumentation;
    NginxModuleServiceNamespace default;
    NginxModuleServiceInstanceId nginx-instrumentation-test;
    NginxModuleResolveBackends ON;

The only config in the nginx.conf related to otel is loading the module and including the conf.d directory. Every time a server path is hit, the following error is printed:

2023/03/22 13:13:50 [error] 12#12: *32 mod_opentelemetry: startMonitoringRequest: Starting Request Monitoring for: /nginx-health HTTP/1.1 Host, client: 10.8.28.1, server: _, request: "GET /nginx-health HTTP/1.1", host: "10.8.28.191:80"
2023/03/22 13:13:50 [error] 12#12: *32 mod_opentelemetry: stopMonitoringRequest: Request Ends with result code: 0 while logging request, client: 10.8.28.1, server: _, request: "GET /nginx-health HTTP/1.1", host: "10.8.28.191:80"
[libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes.`

I am seeing traces in jaeger coming from the nginx-instrumentation service. They are not linking to the traces coming from the app, although that may be unrelated

BrendanGalloway avatar Mar 22 '23 13:03 BrendanGalloway

Me too,I have the same issue. nginx version: 1.23.0

otel-webserver-module: v1.0.3

/etc/nginx/config.d/opentelemetry_module.conf:

NginxModuleEnabled ON;
NginxModuleOtelSpanExporter otlp;
NginxModuleOtelExporterEndpoint http://otel-collector.open-telemetry:4317;
NginxModuleServiceName DemoService;
NginxModuleServiceNamespace DemoServiceNamespace;
NginxModuleServiceInstanceId DemoInstanceId;
NginxModuleResolveBackends ON;
NginxModuleTraceAsError ON; 

It seems to have made the same mistake:

[libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes. 
[libp 

And how do i fix them?

vkeeps avatar Mar 30 '23 03:03 vkeeps

I have the same error too...

2023-03-31T08:14:00.148875200Z [libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes.

something changed?

marcelloraffaele avatar Mar 31 '23 08:03 marcelloraffaele

I have the same error too... [libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes. [libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes. [libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes. [libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes. [libprotobuf ERROR /grpc/third_party/protobuf/src/google/protobuf/wire_format_lite.cc:577] String field 'opentelemetry.proto.common.v1.AnyValue.string_value' contains invalid UTF-8 data when serializing a protocol buffer. Use the 'bytes' type if you intend to send raw bytes.

yuexc1235 avatar Apr 04 '23 05:04 yuexc1235

I'm encountering the same issue, when will this be released? image

deleoan avatar Apr 14 '23 05:04 deleoan

Same error. Unable to use nginx module.

fludo avatar Jun 02 '23 13:06 fludo

We also have this issue and this makes the module near unusable for production workloads as the amount of noise generated in the logging will clog up our logging platform

jjbertels avatar Jun 06 '23 11:06 jjbertels

Isn't it a duplicate of https://github.com/open-telemetry/opentelemetry-cpp-contrib/issues/247 ? As far as I understand, the issue is already fixed. The problem is that there were no releases since then.

0xd34d10cc avatar Jul 18 '23 19:07 0xd34d10cc

Isn't it a duplicate of #247 ? As far as I understand, the issue is already fixed. The problem is that there were no releases since then.

Just asked about this on the merged fix PR.

gaffneyd4 avatar Aug 24 '23 19:08 gaffneyd4

otel-webserver-module: v1.0.3 HI BrendanGalloway

Were you able to start nginx after adding the otel 1.0.3 libraries ngx_http_opentelemetry_module.so and libopentelemetry_*.so ?

I am trying to do it for RHEL Nginx 1.22.1 but getting error on startup due to compatibility issues.

Regards Senthil

senthilmnathan avatar Sep 05 '23 12:09 senthilmnathan

change a port that has never been used and restart, maybe we can deal with this problem

wuwuwl avatar Nov 15 '23 08:11 wuwuwl