Invio dei dati dell' OpenTelemetry e all'agente Instana
L'agente di Instana può ricevere direttamente tracce, metriche e log di OpenTelemetry nel formato OTLP. Successivamente, l'agente Instana inoltra i dati al backend Instana. Completare le seguenti configurazioni:
Attivazione dell'acquisizione dei dati dell' OpenTelemetry
Per impostazione predefinita, l'acquisizione dei dati dell' OpenTelemetry e nell'agente host Instana è attivata.
Per abilitare la ricezione dei dati dell' OpenTelemetry e nell'agente host, aggiungere il seguente frammento di codice al file ` configuration.yaml ` dell'agente host:
com.instana.plugin.opentelemetry:
grpc:
enabled: true
# port: 4317
http:
enabled: true
# port: 4318
Una volta attivata l'acquisizione dei dati dell' OpenTelemetry, l'agente host avvia un collettore per l'esportatore OpenTelemetry's OTLP sulle porte predefinite 4317 per le connessioni gRPC e 4318 per le connessioni HTTP o HTTPS, a meno che non siano state modificate dalla configurazione o dalle variabili d'ambiente.
Per configurare le diverse porte utilizzate per i dati dell' OpenTelemetry e nell'agente host, aggiungere il seguente frammento di codice al file ` configuration.yaml ` dell'agente host:
com.instana.plugin.opentelemetry:
grpc:
port: 4317
http:
port: 4318
È inoltre possibile configurare queste porte utilizzando le variabili d'ambiente INSTANA_AGENT_OTEL_GRPC_PORT e INSTANA_AGENT_OTEL_HTTP_PORT (il valore predefinito è null).
Versione legacy OTLP gRPC
55680) oltre alla porta standard (4317). Il comportamento della porta legacy dipende dalla versione dell'agente:- Versione dell'agente precedente all' 1.310.0: : l'agente abilita entrambe le porte (
4317e55680) per impostazione predefinita. - Versione dell'agente 1.310.0 e successive: per impostazione predefinita, l'agente abilita solo la porta standard (
4317).
Per controllare la porta legacy, utilizzare la variabile d'ambiente INSTANA_AGENT_OTEL_GRPC_LEGACY_PORT_ENABLED. Impostare su true per abilitare o su false per disabilitare.
com.instana.plugin.opentelemetry:
grpc:
legacy_port_enabled: true
Configurare l'esportatore
Per impostazione predefinita, l'agente Instana è configurato per ascoltare sull'indirizzo IP del localhost ( 127.0.0.1 ). Il frammento di codice seguente mostra un tipico esempio di configurazione del Collector di OpenTelemetry per l'inoltro dei dati di telemetria a un agente host locale di Instana utilizzando il OTLP/gRPC protocollo.
exporters:
otlp:
endpoint: localhost:4317
tls:
insecure: true
...
service:
pipelines:
traces:
receivers: [...]
processors: [...]
exporters: [..., otlp]
metrics:
receivers: [...]
processors: [...]
exporters: [..., otlp]
logs:
receivers: [...]
processors: [...]
exporters: [..., otlp]
- Se
tlsè abilitatotls.insecure: false, anteponi il prefissoendpointal valorehttps://(ad esempio,https://*endpoint*). - Se
tlsè disabilitato (tls.insecure: true), è possibile anteporre alendpointvalorehttp://. Si consiglia tuttavia di non utilizzarehttp://in questa configurazione. - Se il server Instana SaaS utilizza lo
https://schema, la sicurezza del trasporto client è abilitata e prevale sullatls.insecure: trueconfigurazione. Per ulteriori informazioni, consultare OTLP gRPC Exporter. - Se non si specifica alcun valore per
tls.insecure, alloratlsè abilitato per impostazione predefinita.
L'esempio seguente illustra una configurazione tipica del Collector di OpenTelemetry per l'inoltro dei dati di telemetria a un agente host locale di Instana utilizzando il OTLP/HTTP protocollo.
exporters:
otlphttp:
endpoint: http://localhost:4318
...
service:
pipelines:
traces:
receivers: [...]
processors: [...]
exporters: [..., otlphttp]
metrics:
receivers: [...]
processors: [...]
exporters: [..., otlphttp]
logs:
receivers: [...]
processors: [...]
exporters: [..., otlphttp]
tls.insecure: true), anteporre al endpoint valore il carattere http://. Se TLS è abilitato (tls.insecure: false), anteponi il prefisso endpoint al valore https://.Invio di dati " OpenTelemetry " in formato " OTLP " all'agente " Instana " in " Kubernetes "
Il servizio di agenti " Instana ", disponibile su Kubernetes tramite la scheda " Instana " dell' Helm, risulta utile quando viene utilizzato in combinazione con il supporto " OpenTelemetry ". Il servizio agente di Instana contribuisce a garantire che i dati vengano inoltrati all'agente di Instana, che viene eseguito sullo stesso nodo di Kubernetes. Il servizio " Instana " è un servizio " Kubernetes " che può essere utilizzato come nome di dominio del pod in cui è in esecuzione l'agente " Instana ".
Se si installa l'agente host di Instana utilizzando il grafico Helm o l'Operator, l'acquisizione dei dati di OpenTelemetry nell'agente host di Instana viene attivata per impostazione predefinita.
Per impostazione predefinita, l'agente di Instana viene installato nel
instana-agentnamespace di un cluster Kubernetes o Red Hat OpenShift. Per accedere all'agente Instana viene utilizzato un servizio di Kubernetesinstana-agentdenominato. Le porte 4317 per OTLP/gRPC e 4318 per OTLP / HTTP sono disponibili.# kubectl get service -n instana-agent NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE instana-agent ClusterIP 172.30.53.248 <none> 42699/TCP,55680/TCP,4317/TCP,4318/TCP 23d instana-agent-headless ClusterIP None <none> 42699/TCP,55680/TCP,4317/TCP,4318/TCP 23dPer accedere a un endpoint OTLP di un agente Instana in un cluster Kubernetes o Red Hat OpenShift, è possibile utilizzare il servizio Kubernetes. Ad esempio, è possibile inviare dati di
http://instana-agent.instana-agent:4317tipo ` OpenTelemetry ` all'endpoint ` OTLP/gRPC `. Oppure puoi inviare i dati diinstana-agent.instana-agent:4318un OpenTelemetry e all'endpoint OTLP / HTTP.Nell'esempio di configurazione riportato di seguito, il collettore OpenTelemetry viene utilizzato per connettersi all'agente host locale Instana utilizzando sia il protocollo OTLP/gRPC che il protocollo OTLP / HTTP :
exporters: otlp: endpoint: instana-agent.instana-agent:4317 tls: insecure: true otlphttp: endpoint: http://instana-agent.instana-agent:4318Un altro modo per accedere all'endpoint dell'agente di Instana è quello di utilizzare direttamente l'indirizzo IP dell'host. Si veda il seguente esempio su come ottenere l'indirizzo IP dell'host in un cluster Kubernetes o Red Hat OpenShift e ricostruire il nome di dominio completo dell'endpoint di OTLP/gRPC,, ovvero
TRACER_EXPORTER_OTLP_ENDPOINT:env: - name: INSTANA_AGENT_HOST valueFrom: fieldRef: apiVersion: v1 fieldPath: status.hostIP - name: TRACER_EXPORTER_OTLP_ENDPOINT value: http://$(INSTANA_AGENT_HOST):4317
Attivazione della crittografia " TLS " per l'acquisizione dei dati da OpenTelemetry
È possibile abilitare la crittografia TLS sull'agente host in modo che tutti i dati inviati all'endpoint di acquisizione OpenTelemetry siano crittografati con TLS.
Per ulteriori informazioni, consultare la sezione "Abilitazione della crittografia di TLS ".
Come evitare i problemi di compatibilità causati dall'uso di più tracciatori
Più programmi di traccia che lavorano per la stessa app potrebbero causare conflitti o dati duplicati. Ad esempio, l'agente Instana non strumenta automaticamente le macchine virtuali Java (JVM) che hanno più agenti Java in esecuzione.