

# Referencia de registro estándar
<a name="standard-logs-reference"></a>

Las siguientes secciones se aplican tanto al registro estándar (v2) como al registro estándar (heredado).

**Topics**
+ [Intervalo de entrega de archivos de registro](#access-logs-timing)
+ [Cómo se registran las solicitudes cuando la URL o los encabezados de la solicitud sobrepasan el tamaño máximo](#access-logs-request-URL-size)
+ [Campos de un archivo de registro](#BasicDistributionFileFormat)
+ [Análisis de registros](#access-logs-analyzing)

## Intervalo de entrega de archivos de registro
<a name="access-logs-timing"></a>

CloudFront entrega registros para su distribución varias veces cada hora. En general, un archivo de registro contiene información acerca de las solicitudes que CloudFront ha recibido durante un periodo determinado. Normalmente, CloudFront entrega el archivo de registro de ese periodo al destino una hora después de que se produzcan los eventos reflejados en el registro. Tenga en cuenta, sin embargo, que algunas o todas las entradas de los archivos de registro de un periodo a veces pueden retrasarse hasta 24 horas. Cuando se retrasan entradas de registro, CloudFront las guarda en un archivo de registro cuyo nombre de archivo incluye la fecha y la hora del periodo en el que *se realizaron* las solicitudes en lugar de incluir la fecha y la hora de entrega del archivo.

Al crear un archivo de registro, CloudFront consolida información para la distribución desde todas las ubicaciones de borde que recibieron solicitudes de los objetos durante el periodo que abarca dicho archivo de registro.

CloudFront puede guardar más de un archivo por periodo en función de la cantidad de solicitudes de objetos asociados con una distribución que recibe CloudFront.

CloudFront comienza a enviar de forma fiable los registros de acceso unas cuatro horas después de habilitar los registros. Es posible obtener algunos registros de acceso antes del momento de envío.

**nota**  
Si ningún usuario solicita sus objetos durante un periodo, no recibirá archivos de registro para ese periodo.

## Cómo se registran las solicitudes cuando la URL o los encabezados de la solicitud sobrepasan el tamaño máximo
<a name="access-logs-request-URL-size"></a>

Si el tamaño total de todos los encabezados de solicitud, incluidas las cookies, supera los 20 KB o si la URL supera los 8192 bytes, CloudFront no puede analizar la solicitud por completo y no puede registrar la solicitud. Dado que la solicitud no se registra, el código de estado que se devuelve no se verá en los archivos de registro de error de HTTP.

Si el cuerpo de la solicitud supera el tamaño máximo, se registra la solicitud, incluido el código de estado de error de HTTP.

## Campos de un archivo de registro
<a name="BasicDistributionFileFormat"></a>

El archivo de registro de una distribución contiene 33 campos. La lista siguiente contiene el nombre de cada campo, en orden, junto con una descripción de la información de ese campo.

1. **`date`**

   La fecha en que se produjo el evento en el formato `YYYY-MM-DD`. Por ejemplo, `2019-06-30`. La fecha y la hora se muestran según la hora universal coordinada (UTC). Para conexiones de WebSockets, indica la fecha de cierre de la conexión.

1. **`time`**

   La hora a la que el servidor de CloudFront terminó de responder a la solicitud (en UTC), por ejemplo, `01:42:39`. Para conexiones de WebSockets, indica la hora de cierre de la conexión.

1. **`x-edge-location`**

   La ubicación de borde que atendió la solicitud. Cada ubicación periférica se identifica mediante un código de tres letras y un número asignado arbitrariamente (por ejemplo, DFW3). El código de tres letras normalmente se corresponde con el código del aeropuerto de la Asociación de Transporte Aéreo Internacional (IATA) más cercano a la ubicación geográfica de la ubicación periférica. Estas abreviaturas pueden cambiar en el futuro.

1. **`sc-bytes`**

   El número total de bytes que el servidor ha enviado al lector en respuesta a la solicitud, incluidos los encabezados. Para conexiones WebSocket y gRPC, se trata del número total de bytes enviados desde el servidor al cliente a través de la conexión.

1. **`c-ip`**

   La dirección IP del espectador que ha realizado la solicitud, por ejemplo, `192.0.2.183` o `2001:0db8:85a3::8a2e:0370:7334`. Si el lector ha utilizado un proxy HTTP o un equilibrador de carga para enviar la solicitud, el valor de este campo es la dirección IP del proxy o del balanceador de carga. Consulte también el campo `x-forwarded-for`.

1. **`cs-method`**

   El método de solicitud HTTP recibido del lector.

1. **`cs(Host)`**

   El nombre de dominio de la distribución de CloudFront (por ejemplo, d111111abcdef8.cloudfront.net).

1. **`cs-uri-stem`**

   La parte de la URL de solicitud que identifica la ruta y el objeto (por ejemplo, `/images/cat.jpg`). Los signos de interrogación (?) de las URL y las cadenas de consulta no están incluidas en el registro.

1. **`sc-status`**

   Contiene uno de los siguientes valores:
   + El código de estado HTTP de la respuesta del servidor (por ejemplo, `200`).
   + `000`, que indica que el lector ha cerrado la conexión antes de que el servidor pudiese responder a la solicitud. Si el lector cierra la conexión después de que el servidor comience a enviar la respuesta, este campo contiene el código de estado HTTP de la respuesta que el servidor había comenzado a enviar.

1. **`cs(Referer)`**

   El valor del encabezado `Referer` de la solicitud. Este es el nombre del dominio que ha originado la solicitud. Entre los remitentes principales se incluyen motores de búsqueda, otros sitios web que enlazan directamente con sus objetos y su propio sitio web.

1. **`cs(User-Agent)`**

   El valor del encabezado `User-Agent` de la solicitud. El encabezado `User-Agent` identifica el origen de la solicitud, como el tipo de dispositivo y el navegador que enviaron la solicitud o, si la solicitud provino de un motor de búsqueda, de cuál.

1. **`cs-uri-query`**

   La parte de la cadena de consulta de la URL, de haberla.

   Cuando una URL no contiene una cadena de consulta, el valor de este campo es un guion (-). Para obtener más información, consulte [Almacenamiento en caché de contenido en función de parámetros de cadenas de consulta](QueryStringParameters.md).

1. **`cs(Cookie)`**

   El encabezado `Cookie` de la solicitud, incluidos los pares nombre-valor y los atributos asociados.

   Si habilita el registro de cookies, CloudFront registra las cookies de todas las solicitudes independientemente de qué cookies elija reenviar al origen. Cuando una solicitud no incluye un encabezado de cookie, el valor de este campo es un guion (-). Para obtener más información acerca de cookies, consulte [Almacenamiento en caché de contenido en función de cookies](Cookies.md).

1. **`x-edge-result-type`**

   Cómo el servidor ha clasificado la respuesta después de que el último byte abandonara el servidor. En algunos casos, el tipo de resultado puede cambiar entre el momento en que el servidor está listo para enviar la respuesta y el momento en que termina el envío de la respuesta. Consulte también el campo `x-edge-response-result-type`.

   Por ejemplo, en el streaming de HTTP, se supone que el servidor encuentra un segmento de la secuencia en la caché. En esta situación, el valor de este campo sería normalmente `Hit`. Sin embargo, si el lector cierra la conexión antes de que el servidor haya entregado todo el segmento, el tipo de resultado final (y el valor de este campo) es `Error`.

   Las conexiones WebSocket y gRPC tendrán un valor de `Miss` para este campo porque el contenido no se puede almacenar en caché y se entrega directamente al origen.

   Entre los valores posibles se incluyen:
   + `Hit`: el servidor ofreció el objeto al lector desde la caché.
   + `RefreshHit`: el servidor encontró el objeto en la caché pero el objeto había vencido, por lo que el servidor se puso en contacto con el origen para comprobar que la caché tenía la versión más reciente del objeto.
   + `Miss`: un objeto en la caché no ha podido satisfacer la solicitud, así que el servidor la ha reenviado al origen y ha devuelto el resultado al lector.
   + `LimitExceeded`: se ha denegado la solicitud porque se superó una cuota (antes denominada límite) de CloudFront.
   + `CapacityExceeded`: el servidor ha devuelto un código de estado HTTP 503 porque no disponía de capacidad suficiente en el momento de la solicitud para prestar servicio al objeto.
   + `Error`: normalmente, esto significa que la solicitud ha dado lugar a un error de cliente (el valor del campo `sc-status` está en el intervalo `4xx`) o un error de servidor (el valor del campo `sc-status` está en el intervalo `5xx`). Si el valor del campo `sc-status` es `200` o si el valor de este campo es `Error` y el valor del campo `x-edge-response-result-type` no es `Error`, significa que la solicitud HTTP se ha realizado correctamente pero el cliente se ha desconectado antes de recibir todos los bytes.
   + `Redirect`: el servidor ha redirigido al lector de HTTP a HTTPS de acuerdo con la configuración de distribución.
   + `LambdaExecutionError`: la función de Lambda@Edge asociada con la distribución no se ha completado debido a una asociación incorrecta, al tiempo de espera de una función, a un problema de dependencia de AWS o a otro problema de disponibilidad general.

1. **`x-edge-request-id`**

   Una cadena opaca que identifica una solicitud de forma única. CloudFront también envía esta cadena en el encabezado de respuesta `x-amz-cf-id`.

1. **`x-host-header`**

   El valor que el lector ha incluido en el encabezado `Host` de la solicitud. Si utiliza el nombre de dominio CloudFront en las URL de los objetos (como d111111abcdef8.cloudfront.net), este campo contiene ese nombre de dominio. Si utiliza nombres de dominio alternativos (CNAME) en las URL de los objetos (como www.example.com), este campo contiene el nombre de dominio alternativo.

   Si está utilizando nombres de dominio alternativo, consulte `cs(Host)` en el campo 7 para ver el nombre de dominio asociado con su distribución.

1. **`cs-protocol`**

   El protocolo de la solicitud del lector (`http`, `https`, `grpcs`, `ws` o `wss`).

1. **`cs-bytes`**

   El número total de bytes de datos que el lector ha incluido en la solicitud, incluidos los encabezados. Para conexiones WebSocket y gRPC, se trata del número total de bytes enviados desde el cliente al servidor en la conexión.

1. **`time-taken`**

   El número de segundos (hasta la milésima de segundo, por ejemplo, 0,082) desde que el servidor recibe la solicitud del lector hasta que el servidor escribe el último byte de la respuesta en la cola de salida, según se mide en el servidor. Desde el punto de vista del lector, el tiempo total para obtener la respuesta completa será superior a este valor a causa de la latencia de la red y el almacenamiento en búfer de TCP.

1. **`x-forwarded-for`**

   Si el lector ha utilizado un proxy HTTP o un balanceador de carga para enviar la solicitud, el valor del campo `c-ip` es la dirección IP del proxy o del balanceador de carga. En ese caso, este campo es la dirección IP del espectador que originó la solicitud. Este campo puede contener varias direcciones IP separadas por comas. Cada dirección IP puede ser una dirección IPv4 (por ejemplo, `192.0.2.183`) o una dirección IPv6 (por ejemplo, `2001:0db8:85a3::8a2e:0370:7334`).

   Si el lector no utiliza un proxy HTTP o un balanceador de carga, el valor de este campo es un guion (-).

1. **`ssl-protocol`**

   Cuando la solicitud ha utilizado HTTPS, este campo contiene el protocolo SSL/TLS que el lector y el servidor han negociado para transmitir la solicitud y la respuesta. Para obtener una lista de valores posibles, consulte los protocolos SSL/TLS compatibles en [Protocolos y cifrados admitidos entre lectores y CloudFront](secure-connections-supported-viewer-protocols-ciphers.md).

   Cuando `cs-protocol` en el campo 17 es `http`, el valor de este campo es un guion (-).

1. **`ssl-cipher`**

   Cuando la solicitud ha utilizado HTTPS, este campo contiene el cifrado SSL/TLS que el lector y el servidor han negociado para cifrar la solicitud y la respuesta. Para obtener una lista de valores posibles, consulte los cifrados SSL/TLS compatibles en [Protocolos y cifrados admitidos entre lectores y CloudFront](secure-connections-supported-viewer-protocols-ciphers.md).

   Cuando `cs-protocol` en el campo 17 es `http`, el valor de este campo es un guion (-).

1. **`x-edge-response-result-type`**

   Cómo el servidor ha clasificado la respuesta antes de devolver la respuesta al lector. Consulte también el campo `x-edge-result-type`. Entre los valores posibles se incluyen:
   + `Hit`: el servidor ofreció el objeto al lector desde la caché.
   + `RefreshHit`: el servidor encontró el objeto en la caché pero el objeto había vencido, por lo que el servidor se puso en contacto con el origen para comprobar que la caché tenía la versión más reciente del objeto.
   + `Miss`: un objeto en la caché no ha podido satisfacer la solicitud, así que el servidor ha reenviado la solicitud al servidor de origen y ha devuelto el resultado al lector.
   + `LimitExceeded`: se ha denegado la solicitud porque se superó una cuota (antes denominada límite) de CloudFront.
   + `CapacityExceeded`: el servidor ha devuelto un error 503 porque no disponía de capacidad suficiente en el momento de la solicitud para prestar servicio al objeto.
   + `Error`: normalmente, esto significa que la solicitud ha dado lugar a un error de cliente (el valor del campo `sc-status` está en el intervalo `4xx`) o un error de servidor (el valor del campo `sc-status` está en el intervalo `5xx`).

     Si el valor del campo `x-edge-result-type` es `Error` y el valor de este campo no es `Error`, el cliente se ha desconectado antes de finalizar la descarga.
   + `Redirect`: el servidor ha redirigido al lector de HTTP a HTTPS de acuerdo con la configuración de distribución.
   + `LambdaExecutionError`: la función de Lambda@Edge asociada con la distribución no se ha completado debido a una asociación incorrecta, al tiempo de espera de una función, a un problema de dependencia de AWS o a otro problema de disponibilidad general.

1. **`cs-protocol-version`**

   La versión de HTTP que el espectador especificó en la solicitud. Entre los valores posibles se incluyen `HTTP/0.9`, `HTTP/1.0`, `HTTP/1.1`, `HTTP/2.0` y `HTTP/3.0`.

1. **`fle-status`**

   Cuando se configura el [cifrado en el nivel de campo](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html) para una distribución, este campo contiene un código que indica si el cuerpo de la solicitud se ha procesado correctamente. Cuando el servidor procesa correctamente el cuerpo de la solicitud, cifra los valores de los campos especificados y reenvía la solicitud al origen, el valor de este campo es `Processed`. El valor de `x-edge-result-type` todavía puede indicar un error del lado del cliente o del lado del servidor en este caso.

   Los valores posibles para este campo son:
   + `ForwardedByContentType`: el servidor ha reenviado la solicitud al origen sin analizar ni cifrar porque no se ha configurado ningún tipo de contenido.
   + `ForwardedByQueryArgs`: el servidor ha reenviado la solicitud al origen sin analizar ni cifrar porque la solicitud contiene un argumento de consulta que no estaba en la configuración de cifrado en el nivel de campo.
   + `ForwardedDueToNoProfile`: el servidor ha reenviado la solicitud al origen sin analizar ni cifrar porque no se ha especificado ningún perfil en la configuración de cifrado en el nivel de campo.
   + `MalformedContentTypeClientError`: el servidor ha rechazado la solicitud y ha devuelto un código de estado HTTP 400 al lector porque el valor del encabezado `Content-Type` estaba en un formato no válido.
   + `MalformedInputClientError`: el servidor ha rechazado la solicitud y ha devuelto un código de estado HTTP 400 al lector porque el cuerpo de la solicitud estaba en un formato no válido.
   + `MalformedQueryArgsClientError`: el servidor ha rechazado la solicitud y ha devuelto un código de estado HTTP 400 al lector porque un argumento de consulta estaba vacío o tenía un formato no válido.
   + `RejectedByContentType`: el servidor ha rechazado la solicitud y ha devuelto un código de estado HTTP 400 al lector porque no se ha especificado ningún tipo de contenido en la configuración de cifrado en el nivel de campo.
   + `RejectedByQueryArgs`: el servidor ha rechazado la solicitud y ha devuelto un código de estado HTTP 400 al lector porque no se ha especificado ningún argumento de consulta en la configuración de cifrado en el nivel de campo.
   + `ServerError`: el servidor de origen ha devuelto un error.

   Si la solicitud supera una cuota de cifrado en el nivel de campo (anteriormente denominada límite), este campo contiene uno de los siguientes códigos de error y el servidor devuelve el código de estado HTTP 400 al lector. Para obtener una lista de las cuotas actuales del cifrado en el nivel de campo, consulte [Cuotas de cifrado en el nivel de campo](cloudfront-limits.md#limits-field-level-encryption).
   + `FieldLengthLimitClientError`: un campo que se ha configurado como cifrado ha superado la longitud máxima permitida.
   + `FieldNumberLimitClientError`: una solicitud que la distribución ha configurado para cifrar contiene un número de campos mayor del permitido.
   + `RequestLengthLimitClientError`: la longitud del cuerpo de la solicitud ha superado el máximo permitido cuando se ha configurado el cifrado en el nivel de campo.

   Si no se ha configurado el cifrado en el nivel de campo para la distribución, el valor de este campo es un guion (-).

1. **`fle-encrypted-fields`**

   El número de campos de [cifrado en el nivel de campo](field-level-encryption.md) que el servidor ha cifrado y reenviado al origen. Los servidores de CloudFront transmiten la solicitud procesada al origen a medida que cifran los datos, por lo que este campo puede tener un valor incluso si el valor de `fle-status` es un error.

   Si no se ha configurado el cifrado en el nivel de campo para la distribución, el valor de este campo es un guion (-).

1. **`c-port`**

   El número de puerto de la solicitud desde el espectador.

1. **`time-to-first-byte`**

   El número de segundos entre la recepción de la solicitud y la escritura del primer byte de la respuesta, medido en el servidor.

1. **`x-edge-detailed-result-type`**

   Este campo contiene el mismo valor que el campo `x-edge-result-type`, excepto en los siguientes casos:
   + Cuando el objeto se ha servido al lector desde la capa de [Origin Shield](origin-shield.md), este campo contiene `OriginShieldHit`.
   + Cuando el objeto no estaba en la memoria caché de CloudFront y la respuesta se generó mediante una [función Lambda@Edge de solicitud de origen](lambda-at-the-edge.md), este campo contiene `MissGeneratedResponse`.
   + Cuando el valor del campo `x-edge-result-type` es `Error`, este campo contiene uno de los siguientes valores con más información sobre el error:
     + `AbortedOrigin`: el servidor ha encontrado un problema con el origen.
     + `ClientCommError`: la respuesta al lector se ha interrumpido debido a un problema de comunicación entre el servidor y el lector.
     + `ClientGeoBlocked`: la distribución está configurada para rechazar solicitudes desde la ubicación geográfica del lector.
     + `ClientHungUpRequest`: el espectador se ha detenido prematuramente mientras enviaba la solicitud.
     + `Error`: se ha producido un error cuyo tipo de error no se ajusta a ninguna de las otras categorías. Este tipo de error puede producirse cuando el servidor envía una respuesta de error desde la caché.
     + `InvalidRequest`: el servidor ha recibido una solicitud no válida desde el lector.
     + `InvalidRequestBlocked`: el acceso al recurso solicitado está bloqueado.
     + `InvalidRequestCertificate`: la distribución no coincide con el certificado SSL/TLS para el que se ha establecido la conexión HTTPS.
     + `InvalidRequestHeader`: la solicitud contenía un encabezado no válido.
     + `InvalidRequestMethod`: la distribución no está configurada para gestionar el método de solicitud HTTP que se ha utilizado. Esto puede suceder cuando la distribución solo admite solicitudes que se pueden almacenar en caché.
     + `OriginCommError`: se agotó el tiempo de espera de la solicitud al conectarse a un origen o al leer datos de un origen.
     + `OriginConnectError`: el servidor no ha podido conectarse al origen.
     + `OriginContentRangeLengthError`: el encabezado `Content-Length` de la respuesta del origen no coincide con la longitud del encabezado `Content-Range`.
     + `OriginDnsError`: el servidor no ha podido resolver el nombre de dominio del origen.
     + `OriginError`: el origen ha devuelto una respuesta incorrecta.
     + `OriginHeaderTooBigError`: un encabezado devuelto por el origen es demasiado grande para que el servidor de borde lo procese.
     + `OriginInvalidResponseError`: el origen ha devuelto una respuesta no válida.
     + `OriginReadError`: el servidor no ha podido leer desde el origen.
     + `OriginWriteError`: el servidor no ha podido escribir en el origen.
     + `OriginZeroSizeObjectError`: un objeto de tamaño cero enviado desde el origen ha provocado un error.
     + `SlowReaderOriginError`: el espectador ha sido al leer el mensaje que ha provocado el error de origen.

1. **`sc-content-type`**

   El valor del encabezado HTTP `Content-Type` de la respuesta.

1. **`sc-content-len`**

   El valor del encabezado HTTP `Content-Length` de la respuesta.

1. **`sc-range-start`**

   Cuando la respuesta contiene el encabezado HTTP `Content-Range`, este campo contiene el valor inicial del intervalo.

1. **`sc-range-end`**

   Cuando la respuesta contiene el encabezado HTTP `Content-Range`, este campo contiene el valor final del intervalo.

1. **`distribution-tenant-id`**

   El ID del inquilino de la distribución.

1. **`connection-id`**

   Un identificador único para la conexión TLS. 

   Debe habilitar los mTLS para las distribuciones antes de poder obtener información para este campo. Para obtener más información, consulte [Autenticación TLS mutua con CloudFront (mTLS de espectador)TLS mutua de origen con CloudFront](mtls-authentication.md).

   

A continuación, se muestra un ejemplo de archivo de registro de una distribución.

```
#Version: 1.0
#Fields: date time x-edge-location sc-bytes c-ip cs-method cs(Host) cs-uri-stem sc-status cs(Referer) cs(User-Agent) cs-uri-query cs(Cookie) x-edge-result-type x-edge-request-id x-host-header cs-protocol cs-bytes time-taken x-forwarded-for ssl-protocol ssl-cipher x-edge-response-result-type cs-protocol-version fle-status fle-encrypted-fields c-port time-to-first-byte x-edge-detailed-result-type sc-content-type sc-content-len sc-range-start sc-range-end
2019-12-04	21:02:31	LAX1	392	192.0.2.100	GET	d111111abcdef8.cloudfront.net	/index.html	200	-	Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/78.0.3904.108%20Safari/537.36	-	-	Hit	SOX4xwn4XV6Q4rgb7XiVGOHms_BGlTAC4KyHmureZmBNrjGdRLiNIQ==	d111111abcdef8.cloudfront.net	https	23	0.001	-	TLSv1.2	ECDHE-RSA-AES128-GCM-SHA256	Hit	HTTP/2.0	-	-	11040	0.001	Hit	text/html	78	-	-
2019-12-04	21:02:31	LAX1	392	192.0.2.100	GET	d111111abcdef8.cloudfront.net	/index.html	200	-	Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/78.0.3904.108%20Safari/537.36	-	-	Hit	k6WGMNkEzR5BEM_SaF47gjtX9zBDO2m349OY2an0QPEaUum1ZOLrow==	d111111abcdef8.cloudfront.net	https	23	0.000	-	TLSv1.2	ECDHE-RSA-AES128-GCM-SHA256	Hit	HTTP/2.0	-	-	11040	0.000	Hit	text/html	78	-	-
2019-12-04	21:02:31	LAX1	392	192.0.2.100	GET	d111111abcdef8.cloudfront.net	/index.html	200	-	Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/78.0.3904.108%20Safari/537.36	-	-	Hit	f37nTMVvnKvV2ZSvEsivup_c2kZ7VXzYdjC-GUQZ5qNs-89BlWazbw==	d111111abcdef8.cloudfront.net	https	23	0.001	-	TLSv1.2	ECDHE-RSA-AES128-GCM-SHA256	Hit	HTTP/2.0	-	-	11040	0.001	Hit	text/html	78	-	-	
2019-12-13	22:36:27	SEA19-C1	900	192.0.2.200	GET	d111111abcdef8.cloudfront.net	/favicon.ico	502	http://www.example.com/	Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/78.0.3904.108%20Safari/537.36	-	-	Error	1pkpNfBQ39sYMnjjUQjmH2w1wdJnbHYTbag21o_3OfcQgPzdL2RSSQ==	www.example.com	http	675	0.102	-	-	-	Error	HTTP/1.1	-	-	25260	0.102	OriginDnsError	text/html	507	-	-
2019-12-13	22:36:26	SEA19-C1	900	192.0.2.200	GET	d111111abcdef8.cloudfront.net	/	502	-	Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/78.0.3904.108%20Safari/537.36	-	-	Error	3AqrZGCnF_g0-5KOvfA7c9XLcf4YGvMFSeFdIetR1N_2y8jSis8Zxg==	www.example.com	http	735	0.107	-	-	-	Error	HTTP/1.1	-	-	3802	0.107	OriginDnsError	text/html	507	-	-
2019-12-13	22:37:02	SEA19-C2	900	192.0.2.200	GET	d111111abcdef8.cloudfront.net	/	502	-	curl/7.55.1	-	-	Error	kBkDzGnceVtWHqSCqBUqtA_cEs2T3tFUBbnBNkB9El_uVRhHgcZfcw==	www.example.com	http	387	0.103	-	-	-	Error	HTTP/1.1	-	-	12644	0.103	OriginDnsError	text/html	507	-	-
```

## Análisis de registros
<a name="access-logs-analyzing"></a>

Dado que puede recibir varios registros de acceso por hora, le recomendamos que combine en un mismo archivo todos los archivos de registro que reciba para un periodo determinado. Así podrá analizar los datos de ese periodo de forma más completa y precisa.

Una forma de analizar los registros de acceso consiste en utilizar [Amazon Athena](https://aws.amazon.com/athena/). Athena es un servicio de consultas interactivo que puede ayudarlo a analizar datos de los servicios de AWS, incluido CloudFront. Para obtener más información, consulte [Consulta de los registros de Amazon CloudFront](https://docs.aws.amazon.com/athena/latest/ug/cloudfront-logs.html) en la *Guía del usuario de Amazon Athena*.

Además, en las siguientes entradas del blog de AWS se explican algunas formas de analizar los registros de acceso.
+ [Amazon CloudFront Request Logging](https://aws.amazon.com/blogs/aws/amazon-cloudfront-request-logging/) (para contenido enviado a través de HTTP)
+ [ Enhanced CloudFront Logs, Now With Query Strings](https://aws.amazon.com/blogs/aws/enhanced-cloudfront-logs-now-with-query-strings/)