OpenTelemetry Collectionneur | Contribution - Amazon CloudWatch

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

OpenTelemetry Collectionneur | Contribution

Vous pouvez utiliser le OpenTelemetry Collector Contrib pour commencer OpenTelemetry à CloudWatch entrer.

Prérequis

Assurez-vous que la recherche de transactions est activée dans CloudWatch. Pour plus d'informations, consultez la section Recherche de transactions.

Téléchargez le OpenTelemetry Collector Contrib

Téléchargez la dernière version de la distribution OpenTelemetry Collector Contrib.

Installez le OpenTelemetry Collector Contrib

Installez le OpenTelemetry Collector Contrib sur n'importe quel système d'exploitation et plate-forme. Pour plus d'informations, voir Installer le collecteur.

Configurez les AWS informations d'identification sur vos EC2 hôtes Amazon ou sur site

Vous pouvez configurer les AWS informations d'identification sur vos hôtes Amazon EC2 ou sur site.

Setup IAM permissions for Amazon EC2
Suivez la procédure ci-dessous pour associer la politique CloudWatchAgentServerPolicy IAM au rôle IAM de votre instance Amazon EC2 .
  1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Choisissez Rôles, puis recherchez et sélectionnez le rôle utilisé par votre EC2 instance Amazon.

  3. Sous l'onglet Autorisations, choisissez Ajouter des autorisations, Joindre des politiques.

  4. À l'aide du champ de recherche, recherchez « CloudWatchAgentServerPolicy politique ».

  5. Sélectionnez la CloudWatchAgentServerPolicypolitique et choisissez Ajouter des autorisations.

Setup IAM permissions for on-premise hosts
Vous pouvez créer un utilisateur IAM qui peut être utilisé pour fournir des autorisations à vos hôtes sur site.
  1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Choisissez Utilisateurs, puis Créer un utilisateur.

  3. Dans Détails de l'utilisateur, dans Nom d'utilisateur, entrez le nom du nouvel utilisateur IAM. Il s'agit du nom de connexion AWS qui sera utilisé pour authentifier votre hôte.

  4. Choisissez Suivant.

  5. Sur la page Définir les autorisations, sous Options d'autorisations, sélectionnez Joindre directement les politiques.

  6. Dans la liste des politiques d'autorisation, sélectionnez la CloudWatchAgentServerPolicypolitique à ajouter à votre utilisateur.

  7. Choisissez Suivant.

  8. Sur la page Réviser et créer, assurez-vous que vous êtes satisfait du nom d'utilisateur et que la CloudWatchAgentServerPolicypolitique figure dans le résumé des autorisations.

  9. Choisissez Create user (Créer un utilisateur).

  10. Créez et récupérez votre clé AWS d'accès et votre clé secrète : dans le volet de navigation de la console IAM, choisissez Utilisateurs, puis sélectionnez le nom d'utilisateur de l'utilisateur que vous avez créé à l'étape précédente.

  11. Sur la page de l'utilisateur, choisissez l'onglet Informations d'identification de sécurité.

  12. Dans la section Clés d'accès, choisissez Créer une clé d'accès.

  13. Pour l'étape 1 de création d'une clé d'accès, choisissez Command Line Interface (CLI).

  14. Pour l'étape 2 de création d'une clé d'accès, entrez éventuellement une balise, puis choisissez Next.

  15. Pour l'étape 3 de création d'une clé d'accès, sélectionnez Télécharger le fichier .csv pour enregistrer un fichier .csv avec la clé d'accès et la clé d'accès secrète de votre utilisateur IAM. Vous avez besoin de ces informations pour les prochaines étapes.

  16. Sélectionnez Exécuté.

  17. Configurez vos AWS informations d'identification sur votre hôte local en saisissant la commande suivante. Remplacez ACCESS_KEY_ID et SECRET_ACCESS_ID par la clé d'accès et la clé d'accès secrète que vous venez de générer à partir du fichier .csv que vous avez téléchargé à l'étape précédente.

    $ aws configure AWS Access Key ID [None]: ACCESS_KEY_ID AWS Secret Access Key [None]: SECRET_ACCESS_ID Default region name [None]: MY_REGION Default output format [None]: json

AWS Informations d'identification de configuration pour vos clusters Amazon EKS ou Kubernetes

Pour configurer les AWS informations d'identification de vos clusters Amazon EKS ou Kubernetes auxquels envoyer des données de télémétrie CloudWatch, suivez la procédure ci-dessous.

Setup IAM permissions for Amazon EKS
  1. Créez un fournisseur d'identité IAM OIDC pour votre cluster à l'aide de la commande suivante.

    eksctl utils associate-iam-oidc-provider --cluster ${CLUSTER_NAME} --region ${REGION} --approve
  2. Attribuez des rôles IAM au compte de service Kubernetes pour OTel Collector à l'aide de la commande suivante.

    eksctl create iamserviceaccount \ --name ${COLLECTOR_SERVICE_ACCOUNT}\ --namespace ${NAMESPACE} \ --cluster ${CLUSTER_NAME} \ --region ${REGION} \ --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy \ --approve \ --override-existing-serviceaccounts
Setup IAM permissions for Kubernetes
  1. Configurez vos AWS informations d'identification sur votre hôte local en saisissant la commande suivante. Remplacez ACCESS_KEY_ID et SECRET_ACCESS_ID par votre clé d'accès et votre clé d'accès secrète nouvellement générées à partir du fichier .csv que vous avez téléchargé à l'étape précédente. Par défaut, le fichier d'informations d'identification est enregistré sous/home/user/.aws/credentials. .

    aws configure AWS Access Key ID [None]: ACCESS_KEY_ID AWS Secret Access Key [None]: SECRET_ACCESS_ID Default region name [None]: MY_REGION Default output format [None]: json
  2. Modifiez la ressource OpenTelemetry Collector pour ajouter le secret d'identification AWS nouvellement créé à l'aide de la commande : kubectl edit OpenTelemetryCollector otel_collector

  3. À l'aide de l'éditeur de fichiers, ajoutez les AWS informations d'identification dans le OpenTelemetryCollector conteneur en ajoutant la configuration suivante en haut du déploiement. Remplacez le chemin /home/user/.aws/credentials par l'emplacement de votre fichier d' AWS informations d'identification local.

    spec: volumeMounts: - mountPath: /rootfs volumeMounts: - name: aws-credentials mountPath: /root/.aws readOnly: true volumes: - hostPath: path: /home/user/.aws/credentials name: aws-credentials

Configuration du OpenTelemetry collecteur

Copiez et collez le contenu ci-dessous pour configurer votre collecteur afin qu'il envoie des journaux et des traces aux points de terminaison OTLP.

receivers: otlp: protocols: grpc: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 exporters: otlphttp/logs: compression: gzip logs_endpoint: logs_otlp_endpoint headers: x-aws-log-group: ency_log_group x-aws-log-stream: default auth: authenticator: sigv4auth/logs otlphttp/traces: compression: gzip traces_endpoint: traces_otlp_endpoint auth: authenticator: sigv4auth/traces extensions: sigv4auth/logs: region: "region" service: "logs" sigv4auth/traces: region: "region" service: "xray" service: telemetry: extensions: [sigv4auth/logs, sigv4auth/traces] pipelines: logs: receivers: [otlp] exporters: [otlphttp/logs] traces: receivers: [otlp] exporters: [otlphttp/traces]

Voici un exemple d'envoi de journaux et de traces à l'aide de sigv4 à us-east-1.

receivers: otlp: protocols: grpc: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 exporters: otlphttp/logs: compression: gzip logs_endpoint: https://logs.us-east-1.amazonaws.com/v1/logs headers: x-aws-log-group: MyApplicationLogs x-aws-log-stream: default auth: authenticator: sigv4auth/logs otlphttp/traces: compression: gzip traces_endpoint: https://xray.us-east-1.amazonaws.com/v1/traces auth: authenticator: sigv4auth/traces extensions: sigv4auth/logs: region: "us-east-1" service: "logs" sigv4auth/traces: region: "us-east-1" service: "xray" service: telemetry: extensions: [sigv4auth/logs, sigv4auth/traces] pipelines: logs: receivers: [otlp] exporters: [otlphttp/logs] traces: receivers: [otlp] exporters: [otlphttp/traces]
Note

Configurez votre configuration OpenTelemetry SDKs d'échantillonnage permanent pour enregistrer de manière fiable 100 % des plages et obtenir une visibilité complète sur vos applications critiques grâce aux CloudWatch signaux d'application. Pour plus d'informations, consultez un exemple de configuration d'échantillonneur du SDK OpenTelemetry Java. Pour un exemple de configuration de OpenTelemetry Collector avec le point de terminaison OTLP X-Ray, consultez le référentiel de démonstration des signaux d'application.