Configuration for server-side observability
Configuration for server-side observability
Configuration for server-side observability
This topic explains how to configure the observability plugin for server-side SDKs.
The observability plugin collects and sends observability data to LaunchDarkly, so you can review error monitoring, logs, traces, and more from within the LaunchDarkly UI.
To get started with the observability plugin, read the observability reference guide for your SDK. Use the docs site navigation on the left, or find your SDK under Observability SDKs.
Details about each SDK’s configuration are available in the SDK-specific sections below:
The observability plugin sends OpenTelemetry data to LaunchDarkly at https://otel.observability.app.launchdarkly.com:4318 by default. Port 4318 is the standard OpenTelemetry HTTP/Protobuf port.
If your network restricts outbound traffic to port 443, override the OTLP endpoint to use HTTPS on port 443. You have two ways to override the endpoint:
WithOtlpEndpoint("https://otel.observability.app.launchdarkly.com:443") when you build the plugin.OTEL_EXPORTER_OTLP_ENDPOINT environment variable to https://otel.observability.app.launchdarkly.com:443. This variable works with all server-side SDKs.If your application emits OpenTelemetry data locally but none of it appears in LaunchDarkly, check whether your network allows outbound traffic to port 4318. A restrictive firewall is a common cause of missing backend observability data.
This feature is available in the observability plugin for the following server-side SDKs:
You can configure the observability plugin for the .NET (server-side) SDK through a mix of environment variables, OpenTelemetry configuration options, and plugin configuration options.
Use the ObservabilityPlugin.ObservabilityPluginBuilder to set the options. In many cases, you can use an OpenTelemetry-specific environment variable instead, if you prefer. For example, if you want to set a custom OTLP endpoint, you can either set OtlpEndpoint in your ObservabilityPlugin.ObservabilityPluginBuilder, or you can set the OTEL_EXPORTER_OTLP_ENDPOINT environment variable.
Here’s how:
For a complete list of configuration options, read ObservabilityPlugin.ObservabilityPluginBuilder.
You can configure the observability plugin for the Node.js (server-side) SDK through a mix of environment variables, OpenTelemetry configuration options, and plugin configuration options.
The environment variables specify where to enable instrumentation:
LAUNCHDARKLY_OTEL_NODE_ENABLE_FILESYSTEM_INSTRUMENTATION enables file system instrumentation. It defaults to false.LAUNCHDARKLY_OTEL_NODE_ENABLE_OUTGOING_HTTP_INSTRUMENTATION enables outgoing HTTP instrumentation. It defaults to true. It only affects outgoing HTTP requests instrumented by @opentelemetry/instrumentation-http.If you are already using OpenTelemetry configuration options for Node in your application, you can continue to use them.
When you use the observability plugin, the @opentelemetry/instrumentation-fs instrumentation behaves as follows:
LAUNCHDARKLY_OTEL_NODE_ENABLE_FILESYSTEM_INSTRUMENTATION is true.OTEL_NODE_ENABLED_INSTRUMENTATIONS and OTEL_NODE_DISABLED_INSTRUMENTATIONS OpenTelemetry environment variables.To specify the observability plugin configuration options, use the NodeOptions interface to set the options.
Here’s how:
For a complete list of configuration options, read NodeOptions.
You can configure the observability plugin for the Python SDK through a mix of environment variables, OpenTelemetry configuration options, and plugin configuration options.
Use the ObservabilityConfig class to set the options. In many cases, you can use an OpenTelemetry-specific environment variable instead, if you prefer. For example, if you want to set a custom OTLP endpoint, you can either set otlp_endpoint in your ObservabilityConfig, or you can set the OTEL_EXPORTER_OTLP_ENDPOINT environment variable.
Here’s how:
For a complete list of configuration options, read ObservabilityConfig.
You can configure options for the Ruby observability plugin when you initialize the SDK, or using environment variables.
The plugin constructor accepts optional keyword arguments for configuration.
Here’s how:
For a complete list of configuration options, read Plugin Options.
The environment variables specify where to enable instrumentation:
LAUNCHDARKLY_SDK_KEY provides the LaunchDarkly SDK key. This key is automatically extracted from the client during initialization.OTEL_EXPORTER_OTLP_ENDPOINT provides a custom OTLP endpoint.OTEL_SERVICE_NAME provides the service name, if not specified in plugin options.The environment associated with your SDK key is automatically determined by the backend, so you don’t need to configure it separately.