Envoi des données d' OpenTelemetry s vers le backend Instana
Les données de télémétrie peuvent être envoyées au format « OTLP » directement depuis des applications ou des systèmes vers le serveur d' Instana. Effectuez les configurations suivantes:
Prérequis
Les noeuds finaux spéciaux du composant
otlp-acceptordorsal sont utilisés lorsque des données OpenTelemetry sont envoyées.Dans l'exemple de configuration suivant, le collecteur OpenTelemetry est utilisé pour se connecter au composantotlp-acceptorbackend Instana :exporters: otlp: endpoint: ${INSTANA_OTLP_GRPC_BACKEND}:4317 headers: x-instana-key: xxxxxxxLa
https://valeur ajoutée dansotlp. endpointindique qu'une connexion sécurisée est utilisée. Si l'option tls n'est pas définie, elle est activée par défaut. Pour plus d'informations, consultez la section « OtlpExporter ».- Vous devez définir la clé d'agent Instana requise pour la validation. Définissez le champ « x-instana-key » avec la clé d'agent de l' Instana, afin de cibler le backend Instana.
Création de l'attribut de ressource ou de la variable d'environnement requis
Le backend « host.idInstana » nécessite l'attribut de ressource device.id , faas.id, ou. Vous pouvez également définir x-instana-host comme variable d'environnement. Instana utilise host.id l'attribut pour identifier de manière unique un hôte et associer les entités OpenTelemetry à l'hôte approprié. Vous pouvez fournir le host.id de deux façons :
En utilisant le SDK d' OpenTelemetry (recommandé pour les systèmes non conteneurisés)
OpenTelemetry dispose d'une convention sémantique standard pour
host.id. La plupart des SDK d' OpenTelemetry s prennent en charge la collecte de l'attributhost.id« resource » sur les systèmes non conteneurisés. Lorsque vous fournissez des donnéeshost.idvia un SDK OpenTelemetry, Instana peut associer de manière transparente l'entité OpenTelemetry à l'hôte correspondant dans la surveillance de l'infrastructure Instana.En récupérant
host.iddepuis l'interface utilisateur d' InstanaPour trouver cette option
host.iddans l'interface utilisateur d' Instana, accédez à Infrastructure > Analyser l'infrastructure. Cliquez sur « Hôte » dans la section « Types d'entités ». Cliquez sur l'hôte souhaité dans la liste pour afficher ses détails. Sous « Système », vous trouverez l'identifiant de l'hôte. Si vous configurez manuellement ce paramètrehost.iddans les attributs de votre ressource OpenTelemetry, Instana associe l'entité OpenTelemetry à l'hôte correspondant dans la surveillance de l'infrastructure Instana.
Si le collecteur OpenTelemetry est déployé en mode Daemonset, le collecteur OpenTelemetry se trouve sur le même hôte que les applications qui envoient des données OpenTelemetry . Vous pouvez également définir l'en-tête x-instana-host à l'aide de l'exportateur OTLP.
exporters:
otlp:
endpoint: ${INSTANA_OTLP_GRPC_BACKEND}:4317
headers:
x-instana-key: xxxxxxx
x-instana-host: xxxx // or use ${host.name} if set in the configuration files processors.resource.attributes or in the OpenTelemetry SDK
https:// valeur ajoutée dans otlp. endpoint indique qu'une connexion sécurisée est utilisée. Si l'option tls n'est pas définie, elle est activée par défaut. Pour plus d'informations, consultez la section « Paramètres d'OtlpExporter ».- Définissez le
x-instana-keychamp avec la clé de l'agent « Instana » pour cibler le backend « Instana ». - Définissez le
x-instana-hostchamp contenant le nom d'hôte avec la valeur :${host.name}, qui correspond au nom de l'hôte sur lequel s'exécute le collecteur OpenTelemetry. L' host.name s se trouve dans les fichiers de configuration processors.resource.attributes ou dans le SDK OpenTelemetry. Si l' host.name n n'est pas définie, vous pouvez définir le nom d'hôte à partir de vos variables d'environnement, telles queHOSTNAMEouHOST, ou le définir manuellement. - Définissez le
endpointchamp en indiquant le nom de domaine correct duotlp-acceptorcomposant du backend Instana. - Pour plus d'informations sur les numéros de port d' OTLP utilisés par Instana, consultez la section Numéros de port.
Configuration d' Instana en auto-hébergement
Sur Instana (version auto-hébergée), le port 443 est utilisé pour les OTLP/gRPCOTLP/HTTP protocoles et. Les noms de domaine suivants sont utilisés pour les protocoles:
otlp-grpc.<base_domain> pour OTLP/gRPC otlp-http.<base_domain> pour OTLP/HTTP
Pour envoyer les données d' OpenTelemetry s au backend Instana, procédez comme suit :
Assurez-vous que les deux entrées « DNS
otlp-http.<base_domain>» etotlp-grpc.<basedomain>ont bien été créées pour leotlp-acceptorcomposant dans votre backend Instana.- Pour plus d'informations sur la configuration d' DNS, sur Instana ou sur une instance auto-hébergée Standard Edition, consultez les pages Paramètres du cluster à nœud unique DNS et Paramètres du cluster à plusieurs nœuds DNS.
- Pour plus d'informations sur la configuration d' DNS, sur la version Custom Edition auto-hébergée d' Instana sur la plateforme Kubernetes, consultez les pages « Configuration des équilibreurs de charge » et « DNS ».
- Pour plus d'informations sur la configuration de la version personnalisée auto-hébergée d' Instana sur la plateforme OpenShift, consultez les articles « Configuration des équilibreurs de charge » et « DNS - Backend Instana sur OpenShift ».
Configurez l'exportateur OTLP pour l'utiliser avec le collecteur OpenTelemetry, puis effectuez l'une des opérations suivantes :
OTLP exportateur dont la certification a été vérifiée :
Obtenir le fichier de l'autorité de certification à partir de l'instance auto-hébergée
- Pour l'édition standard auto-hébergée:
kubectl get secret instana-tls -n instana-core -o jsonpath='{.data.ca\.crt}'|base64 -d > ca.crt - Pour l'édition personnalisée auto-hébergée dont le certificat est généré par la commande openssl:
kubectl get secret instana-tls -n instana-core -o jsonpath='{.data.tls\.crt}'|base64 -d > tls.crt
- Pour l'édition standard auto-hébergée:
Copiez
ca.crtà l'emplacement de l'environnement du collecteur OpenTelemetry :exporters: otlp: endpoint: https://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 // or use ${host.name} if set in the configuration files processors.resource.attributes or in the OpenTelemetry SDK
OTLP exportateur sans vérification de la certification :
exporters: otlp: endpoint: https://otlp-grpc.<base_domain>:443 tls: insecure: false insecure_skip_verify: true headers: x-instana-key: xxxxxx x-instana-host: xxxxxx // or use ${host.name} if set in the configuration files processors.resource.attributes or in the OpenTelemetry SDK
Transmission des données de télémétrie vers le backend d' Instana s à l'aide du collecteur d' OpenTelemetry s
Pour transférer les données d' OpenTelemetry s vers le backend Instana, procédez comme suit :
Identifiez la région de déploiement de votre instance d' Instana. Le point de terminaison du backend d' Instana varie en fonction de la région de déploiement. Pour trouver la région d' Instana dédiée à votre environnement, dans l'interface utilisateur d' Instana, accédez au menu de navigation, puis cliquez sur Plus > À propos d' Instana. La boîte de dialogue « Instana » s'affiche. La région de déploiement d' Instana est indiquée dans la boîte de dialogue.
Chaque environnement Instana SaaS est associé à un nom de région spécifique, tel que
blue,red,greenorange,, oucoral. Pour plus d'informations sur le point de terminaison du backend « Instanaotlp-acceptor», consultez la section « Points de terminaison du backend otlp-acceptor de Instana ».Configurez une
OTLP/gRPCconnexionOTLP/HTTPou au serveur de base de données Instana. Par exemple, si vous utilisez l'environnementblueInstana, vous pouvez configurer uneOTLP/gRPCconnexionOTLP/HTTPou au serveur Instana à l'aide de la configuration suivante :OTLP/gRPCexporters: otlp: endpoint: otlp-blue-saas.instana.io:4317 headers: x-instana-key: xxxx ... service: pipelines: traces: receivers: [...] processors: [...] exporters: [..., otlp] metrics: receivers: [...] processors: [...] exporters: [..., otlp] logs: receivers: [...] processors: [...] exporters: [..., otlp]Définissez le
x-instana-keychamp avec la clé de l'agent « Instana » pour cibler le backend « Instana ».OTLP/HTTPexporters: otlphttp: endpoint: https://otlp-blue-saas.instana.io:4318 headers: x-instana-key: xxxx ... service: pipelines: traces: receivers: [...] processors: [...] exporters: [..., otlphttp] metrics: receivers: [...] processors: [...] exporters: [..., otlphttp] logs: receivers: [...] processors: [...] exporters: [..., otlphttp]
Configuration des attributs de ressource
Le backend « host.idInstana » nécessite un attribut de ressource device.id , faas.id, ou. Vous pouvez également définir x-instana-host comme variable d'environnement pointant vers le nom d'hôte.
Si le collecteur OpenTelemetry est déployé en mode « DaemonSet », c'est-à-dire si le collecteur OpenTelemetry se trouve sur le même hôte que les applications qui envoient les données OpenTelemetry, vous pouvez définir x-instana-host l'en-tête à l'aide de l'exportateur OTLP. Voir l'exemple suivant :
exporters:
otlp:
endpoint: otlp-blue-saas.instana.io:4317
headers:
x-instana-key: xxxxxxx
x-instana-host: xxxx // or use ${host.name} if set in the configuration files processors.resource.attributes or in the OpenTelemetry SDK
host.name ressource device.id , host.id, faas.id, ou n'est défini dans votre application ou votre système. Pour trouver cette option host.name dans l'interface utilisateur d' Instana, accédez à « Analyze Infrastructure » > « Host ». Sélectionnez l'hôte souhaité dans la liste pour afficher ses détails. Sous « Système », vous trouverez le nom d'hôte.Pour ajouter l'attribut « host.name resource », il suffit d'utiliser le resource processeur :
processors:
resource:
attributes:
- key: host.name
action: upsert
value: "myhost1.ibm.com"
Après avoir effectué toutes les modifications de configuration dans le fichier de l'agent configuration.yaml, exécutez la commande suivante pour utiliser le collecteur OpenTelemetry :
otelcol-contrib --config configuration.yaml
Points de terminaison du backend otlp-acceptor d' Instana
Dans le tableau ci-dessous, vous trouverez les noms de domaine du backend d' Instanaotlp-acceptor pour les différents environnements d' Instana et d' SaaS. Pour plus d'informations sur l'environnement Instana SaaS, consultez la section « Intégration à OpenTelemetry à l'aide du collecteur OpenTelemetry ».
| Instana SaaS environnement | Nom de domaine de l'accepteur d'otlp |
|---|---|
| Bleu | gRPC: otlp-grpc-blue-saas.instana.io:443 |
| rouge | gRPC: otlp-grpc-red-saas.instana.io:443 |
| vert | gRPC: otlp-grpc-green-saas.instana.io:443 |
| orange | gRPC: otlp-grpc-orange-saas.instana.io:443 |
| Coral | gRPC: otlp-grpc-coral-saas.instana.io:443 |
| sarcelle | gRPC: otlp-grpc-teal-saas.instana.io:443 |
| mizu | gRPC: otlp-grpc-mizu-saas.instana.io:443 |
| citrouille | gRPC: otlp-grpc-pumpkin-saas.instana.io:443 |
| jaune | gRPC: otlp-grpc-yellow-saas.instana.io:443 |
| émeraude | gRPC: otlp-grpc-emerald-saas.instana.io:443 |