You can forward trace data from your applications directly to LogicMonitor without using an OpenTelemetry Collector. This allows you to quickly ingest traces from your applications without needing to install and manage a Collector. For example, if you want to gather trace data for Lambda functions in your environment, you can modify the variables during instrumentation that allows the function to emit trace data directly to your LogicMonitor portal.
Note: Using this method does not allow you to leverage the OpenTelemetry Collector’s Processors to modify and enhance data that is sent to the Collector. For more information, see Configurations for OpenTelemetry Collector Processors.
Requirements to Forward Trace Data without an OpenTelemetry Collector
To forward trace data without an OpenTelemetry Collector, you need the following:
- The endpoint of your LogicMonitor portal, similar to the following:
- Valid API token
For more information, see API Tokens.
- Manage permissions for the following:
- Data Ingestion
- Resources or HostGroups
Forwarding Trace Data without an OpenTelemetry Collector
Note: The following uses Java. For more information and examples of other languages, see LogicMonitor’s hosted demo application, HipsterShop.
Recommendation: Provide a valid service namespace while instrumenting your application. For example,
During instrumentation, modify the variables in the application's configuration file to include the endpoint of your LogicMonitor portal, similar to the following:
java -javaagent:../opentelemetry-javaagent-all-1.9.0.jar \ -Dotel.exporter=otlp \ -Dotel.resource.attributes=service.name=pet-clinic \ -Dotel.exporter.otlp.endpoint=https://<portalname>.logicmonitor.com/rest/api \ -Dotel.exporter.otlp.protocol=http/protobuf \ -Dotel.exporter.otlp.headers=Authorization="Bearer <token>" \ -jar spring-petclinic-2.5.0-SNAPSHOT.jar
Recommendation: Use "OTLP" or "HTTP" as the protocol to send data directly to your LogicMonitor portal. These protocols use Protobuf payloads encoded either in binary format or in JSON format and use HTTP Post requests to send telemetry data from clients to servers.