Envoi de données d' OpenTelemetry s à l'agent Instana
L'agent « Instana » peut recevoir directement les traces, les métriques et les journaux d' OpenTelemetry au format « OTLP ». Ensuite, l'agent « Instana » transmet les données au backend « Instana ». Effectuez les configurations suivantes:
Activation de l'importation de données d' OpenTelemetry
Par défaut, l'ingestion des données de l' OpenTelemetry e dans l'agent hôte Instana est activée.
Pour permettre la réception des données de l' OpenTelemetry e dans l'agent hôte, ajoutez l'extrait de code suivant au fichier ` configuration.yaml ` de l'agent hôte :
com.instana.plugin.opentelemetry:
grpc:
enabled: true
# port: 4317
http:
enabled: true
# port: 4318
Une fois l'importation de données d' OpenTelemetry s activée, l'agent hôte active un collecteur pour l'exportateur OpenTelemetry's OTLP sur les ports par défaut 4317 pour les connexions gRPC et 4318 pour les connexions HTTP ou HTTPS, sauf si ces paramètres ont été modifiés par la configuration ou les variables d'environnement.
Pour configurer les différents ports utilisés pour les données d' OpenTelemetry s dans l'agent hôte, ajoutez l'extrait de code suivant au fichier ` configuration.yaml ` de l'agent hôte :
com.instana.plugin.opentelemetry:
grpc:
port: 4317
http:
port: 4318
Vous pouvez également configurer ces ports à l'aide des variables d'environnement INSTANA_AGENT_OTEL_GRPC_PORT et INSTANA_AGENT_OTEL_HTTP_PORT (la valeur par défaut est null).
Portage de Legacy OTLP gRPC
55680) en plus du port standard (4317). Le comportement du port hérité dépend de la version de l'agent :- Version de l'agent antérieure à 1.310.0:. Par défaut, l'agent active les deux ports (
4317et55680). - Version de l'agent 1.310.0 et ultérieures : par défaut, l'agent n'active que le port standard (
4317).
Pour contrôler le port hérité, utilisez la variable d'environnement INSTANA_AGENT_OTEL_GRPC_LEGACY_PORT_ENABLED. Réglez sur true pour activer ou false sur pour désactiver.
com.instana.plugin.opentelemetry:
grpc:
legacy_port_enabled: true
Configurer l'exportateur
Par défaut, l'agent Instana est configuré pour écouter sur l'adresse IP de l'hôte local ( 127.0.0.1 ). L'extrait suivant présente un exemple typique de configuration du collecteur OpenTelemetry, permettant de transférer des données de télémétrie vers un agent hôte local d' Instana, via le OTLP/gRPC protocole.
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]
- Si cette option
tlsest activéetls.insecure: false, faites précéder laendpointvaleur dehttps://(par exemple,https://*endpoint*). - Si
tlsest désactivé (tls.insecure: true), vous pouvez faire précéder laendpointvaleur dehttp://. Il est toutefois recommandé de ne pas utiliserhttp://dans cette configuration. - Si le serveur Instana SaaS utilise le
https://protocole HTTPS, la sécurité du transport client est activée et prévaut sur latls.insecure: trueconfiguration. Pour plus d'informations, consultez OTLP gRPC Exporter. - Si vous ne spécifiez aucune valeur pour
tls.insecure, alorstlsest activé par défaut.
L'exemple suivant illustre une configuration type du collecteur OpenTelemetry, permettant de transférer des données de télémétrie vers un agent hôte local d' Instana, via le OTLP/HTTP protocole.
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), faites précéder la endpoint valeur de http://. Si TLS est activé (tls.insecure: false), faites précéder la endpoint valeur de https://.Envoi de données d' OpenTelemetry s au format OTLP vers l'agent Instana sur Kubernetes
Le service d'agent « Instana », disponible sur Kubernetes via le graphique « Instana » de l'agent Helm, s'avère utile lorsqu'il est utilisé avec la prise en charge de OpenTelemetry. Le service de l'agent « Instana » permet de garantir que les données sont transmises à l'agent « Instana », qui s'exécute sur le même nœud « Kubernetes ». Le service « Instana » est un service de type « Kubernetes » qui peut servir de nom de domaine au pod dans lequel l'agent « Instana » s'exécute.
Si vous installez l'agent Instana hôte à l'aide de Helm Graphique ou Opérateur, l'ingestion OpenTelemetry de données dans l'agent Instana hôte est activée par défaut.
Par défaut, l'agent Instana est installé dans l'espace
instana-agentde noms d'un cluster Kubernetes ou Red Hat OpenShift. Un service d' Kubernetes, nommé [nom du serviceinstana-agent], est utilisé pour accéder à l'agent Instana. Vous trouverez le port 4317 pour OTLP/gRPC et le port 4318 pour OTLP / HTTP.# 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 23dPour accéder à un point de terminaison OTLP d'un agent Instana au sein d'un cluster Kubernetes ou Red Hat OpenShift, vous pouvez utiliser le service Kubernetes. Par exemple, vous pouvez envoyer des données d' OpenTelemetry s à
http://instana-agent.instana-agent:4317l'adresse OTLP/gRPC. Vous pouvez également envoyer des données d' OpenTelemetry s àinstana-agent.instana-agent:4318l'adresse OTLP / HTTP.Dans l'exemple de configuration suivant, le collecteur OpenTelemetry est utilisé pour se connecter à l'agent hôte local Instana à l'aide des protocoles OTLP/gRPC et OTLP / HTTP :
exporters: otlp: endpoint: instana-agent.instana-agent:4317 tls: insecure: true otlphttp: endpoint: http://instana-agent.instana-agent:4318Une autre façon d'accéder au point de terminaison de l'agent d' Instana ation consiste à utiliser directement l'adresse IP de l'hôte. Consultez l'exemple suivant pour savoir comment récupérer l'adresse IP de l'hôte dans un cluster Kubernetes ou Red Hat OpenShift et construire le nom de domaine complet du point de terminaison de OTLP/gRPC,, à savoir
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
Activation du chiffrement « TLS » pour l'ingestion d' OpenTelemetry s
Vous pouvez activer le chiffrement « TLS » sur l'agent hôte afin que toutes les données envoyées au point de terminaison d'ingestion OpenTelemetry soient chiffrées selon le protocole TLS.
Pour plus d'informations, consultez la section « Activation du chiffrement de la couche de transport ( TLS ) ».
Éviter les problèmes de compatibilité causés par l'utilisation de plusieurs traceurs
Plusieurs traceurs travaillant pour la même application peuvent provoquer des conflits ou des données en double. Par exemple, l'agent « Instana » n'instrumentera pas automatiquement les machines virtuelles Java (JVMs) de type « Java » sur lesquelles plusieurs agents « Java » sont déjà en cours d'exécution.