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.

Nota: l'impostazione predefinita diventa "attivato" se l'agente host è alla versione 1.1.726 o successive. In precedenza, l'impostazione predefinita era disattivata.

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

Per garantire la retrocompatibilità, l'agente Instana può, se lo si desidera, abilitare la porta 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 (4317 e 55680) 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.

In alternativa, è possibile configurare la porta legacy nel file ` configuration.yaml `:
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]
Nota:
  • Se tls è abilitato tls.insecure: false, anteponi il prefisso endpoint al valore https:// (ad esempio, https://*endpoint*).
  • Se tls è disabilitato (tls.insecure: true), è possibile anteporre al endpoint valore http://. Si consiglia tuttavia di non utilizzare http:// in questa configurazione.
  • Se il server Instana SaaS utilizza lo https:// schema, la sicurezza del trasporto client è abilitata e prevale sulla tls.insecure: true configurazione. Per ulteriori informazioni, consultare OTLP gRPC Exporter.
  • Se non si specifica alcun valore per tls.insecure, allora tls è 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]
Nota: se TLS è disabilitato (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 ".

  1. 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-agent namespace di un cluster Kubernetes o Red Hat OpenShift. Per accedere all'agente Instana viene utilizzato un servizio di Kubernetesinstana-agent denominato. 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   23d
  2. Per 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:4317 tipo ` OpenTelemetry ` all'endpoint ` OTLP/gRPC `. Oppure puoi inviare i dati di instana-agent.instana-agent:4318 un 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:4318

    Un 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.