Sending OpenTelemetry data to the Instana backend
Telemetry data can be sent in OTLP format directly from applications or systems to the Instana backend. Complete the following configurations:
- Prerequisites
- Creating the required resource attribute or environment variable
- Configuring Self-Hosted Instana
- Endpoints of the Instana backend otlp-acceptor
Prerequisites
-
The special endpoints of the backend
otlp-acceptor
component are used when OpenTelemetry data is sent.In the following configuration example, the OpenTelemetry collector is used to connect to the Instana backend
otlp-acceptor
component:exporters: otlp: endpoint: INSTANA_OTLP_GRPC_BACKEND:4317 headers: x-instana-key: xxxxxxx
-
You must set the required Instana agent key for validation. Set the x-instana-key field with the agent key of the Instana for targeting the Instana backend.
Creating the required resource attribute or environment variable
The Instana backend requires the host.id
, faas.id
, or device.id
resource attribute, or you can also set x-instana-host
as an environment variable.
If the OpenTelemetry Collector is deployed in a Daemonset mode, the OpenTelemetry Collector is located in the same host of the applications that send out OpenTelemetry data. You can also set the x-instana-host
header by using the
OTLP exporter.
exporters:
otlp:
endpoint: INSTANA_OTLP_GRPC_BACKEND:4317
headers:
x-instana-key: xxxxxxx
x-instana-host: xxxx
Notes:
- Set the
x-instana-key
field with the agent key of the Instana agent for targeting the Instana backend. - Set the
x-instana-host
field with the host ID if nohost.id
,faas.id
, ordevice.id
resource attribute is defined in your application or system. - Set the
endpoint
field with the correct domain name of theotlp-acceptor
component of the Instana backend. - Instana uses OTLP standard port numbers, such as 4317 for
OTLP/gRPC
and 4318 forOTLP/HTTP
. Port 443 is also supported forOTLP/HTTP
.
Configuring Self-Hosted Instana
On Instana self-hosted, port 443 is used for OTLP/gRPC
and OTLP/HTTP
protocols. The following domain names are used for the protocols:
otlp-grpc.<base_domain>
for OTLP/gRPC
otlp-http.<base_domain>
for OTLP/HTTP
To send the OpenTelemetry data to the Instana backend, complete the following steps:
-
Make sure the two DNS entries
otlp-http.<base_domain>
andotlp-grpc.<basedomain>
are created for theotlp-acceptor
component in your Instana backend.- For more information about DNS configuration on Instana self-hosted Standard Edition, see single-node cluster DNS Settings and multi-node cluster DNS Settings.
- For more information about DNS configuration on Instana self-hosted Custom Edition on the Kubernetes platform, see Setting up load balancers and DNS.
- For more information about configuring Instana self-hosted Custom Edition on the Openshift platform, see Setting up load balancers and DNS - Instana backend on openshift.
-
Configure the OTLP exporter to use with OpenTelemetry collector and complete one of the following steps:
-
OTLP exporter with certification verification:
-
Get CA file from self-hosted instana
- For self-hosted standard edition:
kubectl get secret instana-tls -n instana-core -o jsonpath='{.data.ca\.crt}'|base64 -d > ca.crt
- For self-hosted custom edition which certificate is generated by openssl command:
kubectl get secret instana-tls -n instana-core -o jsonpath='{.data.tls\.crt}'|base64 -d > tls.crt
- For self-hosted standard edition:
-
Copy
ca.crt
to the location of the OpenTelemetry collector environment:exporters: otlp: endpoint: otlp-grpc.<base_domain>:443 tls: insecure: false ca_file: <path_to_cert_file>/<cert_file_name> headers: x-instana-key: xxxxxx x-instana-host: xxxxxx
-
-
OTLP exporter without certification verification:
exporters: otlp: endpoint: otlp-grpc.<base_domain>:443 tls: insecure: false insecure_skip_verify: true headers: x-instana-key: xxxxxx x-instana-host: xxxxxx
-
Endpoints of the Instana backend otlp-acceptor
In the following table, you can see the domain names of the Instana backend otlp-acceptor
for different Instana SaaS environments. For more information about the Instana SaaS environment, see Integrating with OpenTelemetry by using the OpenTelemetry Collector.
Instana SaaS environment | Domain name of otlp-accepter |
---|---|
blue | otlp-blue-saas.instana.io |
red | otlp-red-saas.instana.io |
green | otlp-green-saas.instana.io |
orange | otlp-orange-saas.instana.io |
coral | otlp-coral-saas.instana.io |
teal | HTTP: otlp-http-teal-saas.instana.io GRPC: otlp-grpc-teal-saas.instana.io |
mizu | HTTP: otlp-http-mizu-saas.instana.io GRPC: otlp-grpc-mizu-saas.instana.io |
All endpoints of the Instana backend otlp-acceptor in SaaS environments are TLS-enabled.