I am using the Oracle APM Agent to collect metrics from my weblogic server. But instead of forwarding them to the oracle cloud I want them to be collected by the Opentelemetry Collector and send them to another backend (like elasticsearch or even just a log file), but without doing any Code changes.
After installing the Agent I got the AgentConfig.propierties file where I can enable opentelemetry and I also got the log output in the AgentStartup.log file
com.oracle.apm.agent.otel=true
0x9<Fri Mar 21 02:20:33 GMT 2025> INFO Started OpenTelemetry
I also added properties to set the Opentelemetry Collector endpoint:
com.oracle.apm.otel.exporter.ApmOtlpMetricExporter.endpoint=http://localhost:4318
(I got this propertie through debug log output, because I cannot find any offical documentation regarding the correct propertie for otel exporter when using the Oracle Apm Agent)
0x9<Fri Mar 21 01:58:47 GMT 2025> DEBUG <Instrumentation> Attempting to parse/instrument com/oracle/apm/otel/exporter/ApmOtlpMetricExporter
0x9<Fri Mar 21 01:58:47 GMT 2025> DEBUG <ByteBuddy> DISCOVERY com.oracle.apm.otel.exporter.ApmOtlpMetricExporter [null, Thread[Oracle APM Agent -- AgentStartup thread,10,main], loaded=false]
0x9<Fri Mar 21 01:58:47 GMT 2025> DEBUG <ByteBuddy> IGNORE com.oracle.apm.otel.exporter.ApmOtlpMetricExporter [null, Thread[Oracle APM Agent -- AgentStartup thread,10,main], loaded=false]
0x9<Fri Mar 21 01:58:47 GMT 2025> DEBUG <ByteBuddy> COMPLETE com.oracle.apm.otel.exporter.ApmOtlpMetricExporter [null, Thread[Oracle APM Agent -- AgentStartup thread,10,main], loaded=false]
To test if the Opentelemetry Collector itself works, I also tried the opentelemetry java agent and with that agent everything works fine.
Versions:
Oracle Apm Agent Version: 1.16.0.585
Opentelemetry Collector Version: 0.122.0 (tried also earlier versions)