Amazon CloudFront

Información general

Amazon CloudFront es un servicio de red de entrega de contenido global (CDN) que acelera la entrega de tus sitios web, APIs, contenido de vídeo u otros activos web.

Habilita esta integración para ver en Datadog todas tus métricas de CloudFront.

Configuración

Instalación

Si todavía no lo has hecho, configura la integración de Amazon Web Services primero.

Recopilación de métricas

  1. En la página de la integración de AWS, asegúrate de que CloudFront está habilitado en la pestaña Metric Collection.
  2. Instala la integración de Datadog y Amazon CloudFront.
  3. Opcional: habilita Métricas de Distribución de CloudFront adicionales para obtener más visibilidad del rendimiento del tráfico de CloudFront.

APM

Activar logging

Cuando habilites el registro de CloudFront para una distribución, especifica el bucket de Amazon S3 en el que deseas que CloudFront almacene los archivos de log. Si utilizas Amazon S3 como origen, Datadog recomienda no utilizar el mismo bucket para los archivos de log; el uso de un bucket independiente simplifica el mantenimiento.

Nota: Datadog recomienda almacenar los archivos de log de varias distribuciones en el mismo bucket para que el forwarder de log sólo tenga que suscribirse a un bucket.

Para categorizar automáticamente logs con la fuente de CloudFront, especifica cloudfront como prefijo para los nombres de archivo al habilitar el registro. Caso contrario, los logs se categorizarán como s3.

Enviar logs a Datadog

  1. Si aún no lo has hecho, configura la función Lambda del Datadog Forwarder en tu cuenta AWS.
  2. Una vez configurada, ve a la función Lambda del Datadog Forwarder. En la sección Información general de la función, haz clic en Add Trigger (Añadir activador).
  3. Para configurar un activador, selecciona el activador S3.
  4. Selecciona el bucket de S3 que contiene tus logs de CloudFront.
  5. Deja el tipo evento como All object create events.
  6. Haz clic en Add (Añadir) para añadir el activador a tu Lambda.

Ve al [Log Explorer][8] para empezar a explorar tus logs.

Para más información sobre la recopilación de logs de servicios de AWS, consulta Enviar logs de servicios de AWS con la función Lambda de Datadog.

Activar logging

Crear una configuración específica

Al crear una configuración de log en tiempo real, puedes especificar qué campos de log deseas recibir. Por defecto, se seleccionan todos los campos disponibles.

Registro de CloudFront 3

Datadog recomienda que mantengas esta configuración predeterminada y añadas la siguiente regla personalizada de parseo para procesar los logs automáticamente con todos los campos activados.

Ve a la página Pipelines, busca Amazon CloudFront, crea o edita un procesador de parseo grok y añade las siguientes reglas de ayuda en Advanced Settings (Configuración avanzada):

      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}.*

Enviar logs a Datadog

Los logs en tiempo real se entregan al Kinesis Data Stream de su elección y pueden reenviarse directamente a Datadog con la integración de Amazon Data Firehose.

También puedes configurar un consumidor, como Amazon Data Firehose, para enviar logs en tiempo real a un bucket de S3 y utilizar el Datadog Lambda Forwarder para enviar logs a Datadog.

Datos recopilados

Métricas

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 403 (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.4xx_error_rate
(gauge)
The percentage of all requests for which the HTTP status code is 4xx.
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.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.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
aws.cloudfront.function_compute_utilization
(gauge)
The amount of time that the function took to run as a percentage of the maximum allowed time.
Shown as percent
aws.cloudfront.function_execution_errors
(gauge)
The number of execution errors that occurred in a given time period.
Shown as error
aws.cloudfront.function_invocations
(count)
The number of times the function was started in a given time period.
Shown as invocation
aws.cloudfront.function_throttles
(count)
The number of times that the function was throttled in a given time period.
Shown as throttle
aws.cloudfront.function_validation_errors
(gauge)
The number of validation errors produced by the function in a given time period.
Shown as error
aws.cloudfront.lambda_execution_error
(count)
The number of Lambda execution errors that occurred in a given time period.
Shown as error
aws.cloudfront.lambda_limit_exceeded_error
(count)
The number of Lambda limit exceeded errors that occurred in a given time period.
Shown as error
aws.cloudfront.lambda_validation_error
(count)
The number of Lambda validation errors that occurred in a given time period.
Shown as error
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 millisecond
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

A cada una de las métricas recuperadas de AWS se le asignan las mismas etiquetas que aparecen en la consola de AWS, incluidas, entre otras, aws_account, region y distributionid.

Eventos

La integración de Amazon CloudFront no incluye ningún evento.

Checks de servicio

La integración de Amazon CloudFront no incluye ningún check de servicio.

Resolución de problemas

¿Necesitas ayuda? Ponte en contacto con el soporte de Datadog.