Amazon CloudFront
Rapport de recherche Datadog : Bilan sur l'adoption de l'informatique sans serveur Rapport : Bilan sur l'adoption de l'informatique sans serveur

Amazon CloudFront

Crawler Crawler

Présentation

Amazon CloudFront est un réseau rapide de diffusion de contenu (CDN) qui distribue vos sites Web, API, vidéos et autres ressources Web.

Activez cette intégration pour visualiser dans Datadog toutes vos métriques de CloudFront.

Configuration

Installation

Si vous ne l’avez pas déjà fait, configurez d’abord l’intégration Amazon Web Services.

Collecte de métriques

  1. Dans le carré d’intégration AWS, assurez-vous que l’option CloudFront est cochée dans la section concernant la collecte des métriques.
  2. Installez l’intégration Datadog/AWS CloudFront.
  3. Facultatif : activez les métriques de distribution CloudFront supplémentaires pour analyser plus en détail les performances de votre trafic CloudFront.

Collecte de logs

Activer la journalisation Cloudfront

Lorsque vous activez la journalisation pour une distribution, indiquez le compartiment Amazon S3 dans lequel vous souhaitez que CloudFront stocke vos logs. Si vous utilisez Amazon S3 comme source, nous vous recommandons de ne pas utiliser le même compartiment pour vos fichiers de log. L’utilisation d’un compartiment distinct simplifie la maintenance.

Remarque importante : vous pouvez stocker des fichiers de log de plusieurs distributions dans un même compartiment. Lorsque vous activez la journalisation, vous pouvez indiquer cloudfront en tant que préfixe pour les noms de fichiers pour [déterminer à quelle distribution sont associés vos fichiers][4].

Envoyer des logs à Datadog

  1. Si vous ne l’avez pas déjà fait, configurez la [fonction AWS Lambda de collecte de logs avec Datadog][5].
  2. Une fois la fonction Lambda installée, ajoutez manuellement un déclencheur sur le compartiment S3 contenant vos logs CloudFront en cliquant sur S3 dans la liste des déclencheurs pour votre Lambda dans la console AWS :

Configurez votre déclencheur en choisissant le compartiment S3 qui contient vos logs CloudFront et remplacez le type d’événement par Object Created (All). Cliquez ensuite sur le bouton Add.

Accédez ensuite à la section Log de Datadog pour commencer à explorer vos logs !

Activer la journalisation Cloudfront

Créer une configuration spécifique

Lorsque vous créez une configuration pour des logs en temps réel, vous pouvez spécifier les champs de log que vous souhaitez recevoir. Par défaut, tous les champs disponibles sont sélectionnés.

Il est conseillé de conserver la configuration par défaut et d’ajouter la règle de parsing personnalisée suivante afin de traiter automatiquement les logs avec tous les champs activés :

      real_time_logs (%{number:timestamp:scale(1000)}|%{number:timestamp})\s+%{_client_ip}\s+%{_time_to_first_byte}\s+%{_status_code}\s+%{_bytes_write}\s+%{_method}\s+%{regex("[a-z]*"):http.url_details.scheme}\s+%{notSpace:http.url_details.host:nullIf("-")}\s+%{notSpace:http.url_details.path:nullIf("-")}\s+%{_bytes_read}\s+%{notSpace:cloudfront.edge-location:nullIf("-")}\s+%{_request_id}\s+%{_ident}\s+%{_duration}\s+%{_version}\s+IPv%{integer:network.client.ip_version}\s+%{_user_agent}\s+%{_referer}\s+%{notSpace:cloudfront.cookie}\s+(%{notSpace:http.url_details.queryString:querystring}|%{notSpace:http.url_details.queryString:nullIf("-")})\s+%{notSpace:cloudfront.edge-response-result-type:nullIf("-")}\s+%{_x_forwarded_for}\s+%{_ssl_protocol}\s+%{_ssl_cipher}\s+%{notSpace:cloudfront.edge-result-type:nullIf("-")}\s+%{_fle_encrypted_fields}\s+%{_fle_status}\s+%{_sc_content_type}\s+%{_sc_content_len}\s+%{_sc_range_start}\s+%{_sc_range_end}\s+%{_client_port}\s+%{_x_edge_detailed_result_type}\s+%{notSpace:network.client.country:nullIf("-")}\s+%{notSpace:accept-encoding:nullIf("-")}\s+%{notSpace:accept:nullIf("-")}\s+%{notSpace:cache-behavior-path-pattern:nullIf("-")}\s+%{notSpace:headers:nullIf("-")}\s+%{notSpace:header-names:nullIf("-")}\s+%{integer:headers-count}.*

Envoyer des logs à Datadog

Les logs en temps réel sont envoyés au flux de données Kinesis de votre choix et peuvent être directement transmis à Datadog grâce à notre intégration Kinesis Firehose.

Vous pouvez également configurer un consommateur, tel qu’Amazon Kinesis Data Firehose, pour envoyer des logs en temps réel vers un compartiment S3 et utiliser le Forwarder Lambda Datadog pour les transmettre à Datadog.

Données collectées

Métriques

aws.cloudfront.4xx_error_rate
(gauge)
The percentage of all requests for which the HTTP status code is 4xx.
Shown as percent
aws.cloudfront.5xx_error_rate
(gauge)
The percentage of all requests for which the HTTP status code is 5xx.
Shown as percent
aws.cloudfront.bytes_downloaded
(count)
The number of bytes downloaded by viewers for GET, HEAD, and OPTIONS requests.
Shown as byte
aws.cloudfront.bytes_uploaded
(count)
The number of bytes uploaded to your origin with CloudFront using POST and PUT requests.
Shown as byte
aws.cloudfront.requests
(count)
The number of requests for all HTTP methods and for both HTTP and HTTPS requests.
aws.cloudfront.total_error_rate
(gauge)
The percentage of all requests for which the HTTP status code is 4xx or 5xx.
Shown as percent
aws.cloudfront.401_error_rate
(gauge)
The percentage of all viewer requests for which the response’s HTTP status code is 401 (Additional Metrics must be enabled).
Shown as percent
aws.cloudfront.403_error_rate
(gauge)
The percentage of all viewer requests for which the response’s HTTP status code is 402 (Additional Metrics must be enabled).
Shown as percent
aws.cloudfront.404_error_rate
(gauge)
The percentage of all viewer requests for which the response’s HTTP status code is 404 (Additional Metrics must be enabled).
Shown as percent
aws.cloudfront.502_error_rate
(gauge)
The percentage of all viewer requests for which the response’s HTTP status code is 502 (Additional Metrics must be enabled).
Shown as percent
aws.cloudfront.503_error_rate
(gauge)
The percentage of all viewer requests for which the response’s HTTP status code is 503 (Additional Metrics must be enabled).
Shown as percent
aws.cloudfront.504_error_rate
(gauge)
The percentage of all viewer requests for which the response’s HTTP status code is 504 (Additional Metrics must be enabled).
Shown as percent
aws.cloudfront.origin_latency
(gauge)
The total time spent from when CloudFront receives a request to when it starts providing a response to the network (not the viewer) for requests that are served from the origin (not the CloudFront cache). This is also known as first byte latency or time-to-first-byte (Additional Metrics must be enabled).
Shown as second
aws.cloudfront.cache_hit_rate
(gauge)
The percentage of all cacheable requests for which CloudFront served the content from its cache. HTTP POST and PUT requests (and errors) are not considered cacheable requests (Additional Metrics must be enabled).
Shown as percent

Chacune des métriques récupérées à partir d’AWS se verra assigner les mêmes tags que ceux qui apparaissent dans la console AWS, y compris, mais sans s’y limiter aws_account, region et distributionid.

Événements

L’intégration AWS CloudFront n’inclut aucun événement.

Checks de service

L’intégration AWS CloudFront n’inclut aucun check de service.

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.