open-telemetry / opentelemetry-cpp-contrib

https://opentelemetry.io/
Apache License 2.0
121 stars 130 forks source link

SDK Init failed, result code is: 8 #271

Open Milzor opened 1 year ago

Milzor commented 1 year ago

Using docker debian:buster with apache2 installed logs are showing SDK Init failed, result code is: 8 when initializing lib.

$ apache2ctl -V     
Server version: Apache/2.4.38 (Debian)
Server built:   2023-03-02T14:26:27
Server's Module Magic Number: 20120211:84
Server loaded:  APR 1.6.5, APR-UTIL 1.6.1
Compiled using: APR 1.6.5, APR-UTIL 1.6.1
Architecture:   64-bit
Server MPM:     event
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)

conf file:

LoadFile /opt/opentelemetry-webserver-sdk/sdk_lib/lib/libopentelemetry_common.so
LoadFile /opt/opentelemetry-webserver-sdk/sdk_lib/lib/libopentelemetry_resources.so
LoadFile /opt/opentelemetry-webserver-sdk/sdk_lib/lib/libopentelemetry_trace.so
LoadFile /opt/opentelemetry-webserver-sdk/sdk_lib/lib/libopentelemetry_otlp_recordable.so
LoadFile /opt/opentelemetry-webserver-sdk/sdk_lib/lib/libopentelemetry_exporter_ostream_span.so
LoadFile /opt/opentelemetry-webserver-sdk/sdk_lib/lib/libopentelemetry_exporter_otlp_grpc.so

#Load the ApacheModule SDK
LoadFile /opt/opentelemetry-webserver-sdk/sdk_lib/lib/libopentelemetry_webserver_sdk.so
LoadModule otel_apache_module /opt/opentelemetry-webserver-sdk/WebServerModule/Apache/libmod_apache_otel.so
ApacheModuleEnabled ON

#ApacheModule Otel Exporter details
ApacheModuleOtelSpanExporter otlp
ApacheModuleOtelExporterEndpoint docker.for.mac.localhost:4317 <--- this is reachable 
#ApacheModuleOtelExporterHeaders api-key=abc123

# SSL Certificates
#ApacheModuleOtelSslEnabled ON
#ApacheModuleOtelSslCertificatePath 

ApacheModuleOtelSpanProcessor Batch
ApacheModuleOtelSampler AlwaysOn
ApacheModuleOtelMaxQueueSize 2048
ApacheModuleOtelScheduledDelayMillis 3000
ApacheModuleOtelExportTimeoutMillis 30000
ApacheModuleOtelMaxExportBatchSize 1024

ApacheModuleServiceName reverseproxy
ApacheModuleServiceNamespace my
ApacheModuleServiceInstanceId test

#ApacheModuleResolveBackends ON
ApacheModuleTraceAsError ON

What is the expected behavior? Succesful traces sent to receiver.

What is the actual behavior? logs:

Wed Apr 05 09:06:45.272391 2023] [otel_apache:error] [pid 28:tid 139793147385600] mod_opentelemetry_webserver_sdk: initialize_opentelemetry: no config stored in the process memory pool
[Wed Apr 05 09:06:45.272473 2023] [otel_apache:error] [pid 28:tid 139793147385600] mod_opentelemetry_webserver_sdk: traceConfig: config{(Enabled="1")(OtelExporterEndpoint="docker.for.mac.localhost:4317")(OtelSslEnabled="0")(OtelSslCertificatePath="")(OtelSpanExporter="otlp")(OtelSpanProcessor="Batch")(OtelSampler="AlwaysOn")(ServiceNamespace="my")(ServiceName="reverseproxy")(ServiceInstanceId="test")(OtelMaxQueueSize="2048")(OtelScheduledDelayMillis="3000")(OtelExportTimeoutMillis="30000")(OtelMaxExportBatchSize="1024")(ResolveBackends="1")(TraceAsError="1")(ReportAllInstrumentedModules="0")(MaskCookie="0")(MaskSmUser="0")(SegmentType="FIRST")(SegmentParameter="2")}
[Wed Apr 05 09:06:45.272552 2023] [otel_apache:error] [pid 28:tid 139793147385600] mod_opentelemetry_webserver_sdk: initialize_opentelemetry: Adding Context: my:reverseproxy:test ServiceNamespace: my ServiceName: reverseproxy ServiceInstanceId: test
[Wed Apr 05 09:06:45.272847 2023] [otel_apache:error] [pid 28:tid 139793147385600] mod_opentelemetry_webserver_sdk: initialize_opentelemetry: SDK Init failed, result code is: 8
[Wed Apr 05 09:06:45.272901 2023] [otel_apache:error] [pid 28:tid 139793147385600] mod_opentelemetry_webserver_sdk: otel_hook_header_parser_begin: opentelemetry did not get initialized
172.17.0.1 - - [05/Apr/2023:09:06:45 +0000] "GET / HTTP/1.1" 302 673 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/111.0"
-28:642d3a25:0
[Wed Apr 05 09:06:45.273322 2023] [otel_apache:error] [pid 28:tid 139793147385600] mod_opentelemetry_webserver_sdk: otel_hook_log_transaction_end: configuration is NULL
vyzigold commented 2 weeks ago

I just encountered exactly the same error. It was caused by /opt/opentelemetry-webserver/agent/conf/opentelemetry_sdk_log4cxx.xml missing.

aryanishan1001 commented 1 week ago

Likewise, you encounter this error when opt/opentelemetry-webserver/agent/conf/opentelemetry_sdk_log4cxx.xml is missing which is caused by not running the ./install.sh inside the agent. If the error persists even after you have the opentelemetry_sdk_log4cxx.xml file. Tell me the exact steps to reproduce the error.