Puede habilitar el registro desde su distribución de Amazon CloudFront para enviar el registro de acceso web a New Relic.
Opciones para enviar registro
Hay dos opciones para enviar registros desde CloudFront: registro estándar o registro en tiempo real.
Standard logs se envían desde CloudFront a un depósito de S3 donde se almacenan. Luego, utilizaría nuestro activador AWS Lambda para enviar el registro desde S3 a New Relic. Revise los documentos de Amazon CloudFront para configurar y utilizar el registro estándar (registro de acceso). Contiene información detallada sobre cómo crear su depósito S3 y configurar los permisos adecuados. El registro estándar incluye todos los campos de datos y se envía a S3 y luego a New Relic cada 5 minutos. Para obtener instrucciones detalladas sobre cómo configurar el registro estándar en la consola de Amazon y enviarlos a New Relic a través de nuestro activador S3 Lambda, consulte la sección Habilitar el registro estándar.
Real-time logs se envían segundos después de recibir las solicitudes utilizando un consumidor de Kinesis Data Stream y un Kinesis Data Firehose para su entrega a New Relic. Revise los documentos de Amazon CloudFront para configurar el registro de tiempo real. tiempo real log son configurables y le permiten configurar una tasa de muestreo (qué porcentaje de registro enviar), seleccionar campos específicos para recibir en los log y definir comportamientos de caché específicos (patrones de ruta) para los que desea recibir registros. tiempo real log también requiere un depósito de respaldo S3 para enviar todos los datos o solo los datos fallidos. Entonces, para habilitar el registro de tiempo real, también debes seguir nuestras instrucciones para crear un depósito S3. Para obtener instrucciones detalladas sobre cómo configurar el registro estándar en la consola de Amazaon y enviarlos a New Relic a través de nuestro activador S3 Lambda, consulte la sección Habilitar registro de tiempo real.
Para ambas opciones, puede utilizar nuestras reglas integradas de análisis de registros para analizar automáticamente su registro de acceso a CloudFront y nuestro dashboard inicio rápido para obtener inmediatamente información valiosa sobre sus datos. Para que las reglas de análisis integradas funcionen y completen datos en el widget del dashboard de inicio rápido proporcionado, debe configurar el atributo logtype
como se define en las instrucciones. Para obtener detalles adicionales sobre cómo analizar el registro de tiempo real si solo selecciona algunos de los campos de registro, consulte la sección Análisis
Cree un depósito de S3 para almacenar el registro de CloudFront
Para habilitar el registro estándar o el registro de tiempo real para su distribución de CloudFront, primero debe crear un depósito S3 para usarlo para almacenar el inicio de sesión de acceso a CloudFront:
En la Consola de administración de AWS, elija
Services > All services > S3
.
Seleccione
Create bucket
.
Ingrese un
Bucket name
y seleccione el
AWS region
de su elección. (Tenga en cuenta que su depósito S3 debe estar en la misma región que la función Lambda que crea en la siguiente sección si está utilizando el registro estándar).
En la sección
Object ownership
, seleccione
ACLs enabled
.
Seleccione
Create bucket
.
Ahora puede habilitar el registro estándar o en tiempo real. Para obtener instrucciones sobre esas opciones, siga leyendo.
Habilitar el registro estándar
Actualice su distribución de CloudFront para habilitar el registro estándar:
En la Consola de administración de AWS, elija
Services > All Services > CloudFront
.
Haga clic en su distribución
ID
. En la pestaña General, seleccione
Edit
en la sección Configuración.
En la sección
Standard logging
, seleccione
On
para habilitar el registro y mostrar los ajustes de configuración del registro.
Para
S3 bucket
, busque y elija el nombre del depósito de S3 que creó anteriormente.
Opcional: puede agregar un prefijo log como
cloudfront_logs
.Elija
Save changes
.
En cinco minutos, debería comenzar a ver el archivo de registro que aparece en su depósito S3 con el siguiente formato de nombre de archivo:
<optional prefix>/<distribution ID>.YYYY-MM-DD-HH.unique-ID.gz
A continuación, debes instalar y configurar nuestra función AWS Lambda NewRelic-log-ingestion-s3
para enviar el log de acceso en S3 a New Relic. Necesitará una única función Lambda para el registro de Amazon CloudFront para poder configurar la variable de entorno LOG_TYPE
adecuada: esto le permite utilizar nuestras reglas de análisis integradas de CloudFront y el dashboard de inicio rápido. Si ya tiene esta función Lambda instalada en una región y la está utilizando para enviar otro registro S3 a New Relic (por ejemplo, registro ALB/NLB), deberá instalar la función Lambda nuevamente en otra región. Además, como se señaló anteriormente, su depósito S3 para almacenar el registro de acceso y su función Lambda para enviar el registro S3 a New Relic deben estar en la misma región.
Para realizar estos pasos:
Siga las instrucciones aquí para configurar AWS Lambda para enviar registros desde S3.
Una vez instalada la función Lambda, seleccione
Functions > NewRelic-s3-log-ingestion
.
Seleccione el botón
+ Add trigger
debajo de S3.
Para
Trigger Configuration
, seleccione S3.
Para
Bucket
, busque y elija el depósito de S3 que creó anteriormente.
En la sección
Recursive invocation
, marque la casilla de reconocimiento y luego elija
Add
.
En la pestaña
Configuration
de la función, elija la opción
Environment variables
a la izquierda.
Seleccione
Edit
y, para
LOG_TYPE
ingresecloudfront-web
.Seleccione
Save
.
En cinco minutos debería comenzar a ver su registro en la UI de registro. Para confirmar que está recibiendo el registro, puede buscar logtype:cloudfront-web
en la barra de búsqueda UI del registro o ejecutar una consulta NRQL con algo como FROM Log SELECT * WHERE logtype='cloudfront-web'
Habilitar registro de tiempo real
Para habilitar el registro en tiempo real para su distribución de CloudFront, primero debe crear un Kinesis Data Stream para recibir el registro de CloudFront:
En la Consola de administración de AWS, elija
Services > Kinesis
.
Seleccione
Data streams
y luego
Create data stream
.
Introduzca un
Data stream name
. Por ejemplo,
CloudFront-DataStream
.Seleccione el modo de capacidad de Data Stream de su elección.
Seleccione
Create data stream
.
En la sección
Consumers
, seleccione
Process with delivery stream
.
Para
Destination
, seleccione
New Relic
.
Introduzca un
Delivery stream name
. Por ejemplo,
CloudFront-DeliveryStream
.En la sección de configuración
Destination
, para la URL del extremo HTTP, seleccione
New Relic logs - US
o
New Relic logs - EU
.
Para
API key
, ingrese el
para su cuenta New Relic.
Seleccione
Add parameter
.
Si selecciona todos los campos para iniciar sesión en el paso 21 a continuación, para
Key
, ingrese
logtype
y paraValue
, ingrese
cloudfront-rtl
. Si planea seleccionar un subconjunto de campos para iniciar sesión en el Paso 21 a continuación, ingresecloudfront-rtl-custom
. Si elige no seleccionar todos los campos, consulte la sección de tiempo real análisis de registros a continuación para obtener información sobre cómo crear una regla de análisis personalizada para su registro.En la sección
Backup settings
, puede elegir
Failed data
solo o
All data
para la opción
Source record backup in Amazon S3
, según sus preferencias.
Para el depósito de respaldo de S3, seleccione
Browse
para buscar y seleccionar el nombre del depósito de S3 que creó anteriormente para almacenar el registro de CloudFront.
Elija
Create delivery stream
.
A continuación, cree una configuración de registro en tiempo real y adjúntela a su distribución de CloudFront:
En la Consola de administración de AWS, elija
Services > CloudFront
.
En el
Telemetry section
de la izquierda, seleccione
Logs
.
Haga clic en la pestaña
Real-time configurations
y luego elija
Create configuration
.
Introduzca un nombre de configuración. Por ejemplo:
CloudFront-RealTimeLogs
.Introduzca una frecuencia de muestreo de
1
a100
.Para
Fields
, seleccione
All fields
o elija los campos que desea incluir en su registro.
Para
Endpoint
, seleccione el nombre del flujo de datos que creó en el paso 3. Por ejemplo:
CloudFront-DataStream
.En la sección
Distrubutions
, seleccione su ID de distribución de CloudFront.
Para
Cache behaviors
, marque
Default (*)
.
Elija
Create configuration
.
En un par de minutos debería comenzar a ver su registro en nuestra UI de logs. Para confirmar que está recibiendo el registro de tiempo real, puede buscar logtype:cloudfront-rtl*
en la barra de búsqueda UI del registro o mediante una consulta NRQL como FROM Log SELECT * WHERE logtype LIKE 'cloudfront-rtl%'
Tiempo real análisis de registros
Nuestra regla de análisis incorporada para el registro de tiempo real supone que se registrarán todos los campos. Si elige log solo un subconjunto de campos, debe definir una regla de análisis personalizada que coincida con su formato log . Esto es necesario para que el registro se analice correctamente y utilice nuestro dashboard de inicio rápido.
Para crear una regla de análisis personalizada, seleccione Parsing en la sección Manage data de la UI del registro.
Para
Rule name
, ingrese
CloudFront custom parsing rule
.Para
Filter logs based on NRQL
, ingrese
logtype='cloundfront-rtl-custom'
.Actualice la lógica de análisis de Grok a continuación para que incluya
only
los campos que ha seleccionado en la configuración de registro de tiempo real. Por ejemplo, si elige no incluir el campo
cs_headers
, elimine%{SPACE}%{NOTSPACE:cs_headers}%
de Grok, y así sucesivamente.^%{NOTSPACE:timestamp}.\d{3}%{SPACE}%{NOTSPACE:c_ip}%{SPACE}%{NUMBER:time_to_first_byte:INT}%{SPACE}%{NUMBER:sc_status:INT}%{SPACE}%{NUMBER:sc_bytes:INT}%{SPACE}%{WORD:cs_method}%{SPACE}%{NOTSPACE:cs_protocol}%{SPACE}%{NOTSPACE:cs_host}%{SPACE}%{NOTSPACE:cs_uri_stem}%{SPACE}%{NUMBER:cs_bytes:INT}%{SPACE}%{NOTSPACE:x_edge_location}%{SPACE}%{NOTSPACE:x_edge_request_id}%{SPACE}%{NOTSPACE:x_host_header}%{SPACE}%{NUMBER:time_taken:INT}%{SPACE}%{NOTSPACE:cs_protocol_version}%{SPACE}%{NOTSPACE:cs_ip_version}%{SPACE}%{NOTSPACE:cs_user_agent}%{SPACE}%{NOTSPACE:cs_referer}%{SPACE}%{NOTSPACE:cs_cookie}%{SPACE}%{NOTSPACE:cs_uri_query}%{SPACE}%{NOTSPACE:x_edge_response_result_type}%{SPACE}%{NOTSPACE:x_forwarded_for}%{SPACE}%{NOTSPACE:ssl_protocol}%{SPACE}%{NOTSPACE:ssl_cipher}%{SPACE}%{NOTSPACE:x_edge_result_type}%{SPACE}%{NOTSPACE:fle_encrypted_fields}%{SPACE}%{NOTSPACE:fle_status}%{SPACE}%{NOTSPACE:sc_content_type}%{SPACE}%{NOTSPACE:sc_content_len}%{SPACE}%{NOTSPACE:sc_range_start}%{SPACE}%{NOTSPACE:sc_range_end}%{SPACE}%{NUMBER:c_port:INT}%{SPACE}%{NOTSPACE:x_edge_detailed_result_type}%{SPACE}%{NOTSPACE:c_country}%{SPACE}%{NOTSPACE:cs_accept_encoding}%{SPACE}%{NOTSPACE:cs_accept}%{SPACE}%{NOTSPACE:cache_behavior_path_pattern}%{SPACE}%{NOTSPACE:cs_headers}%{SPACE}%{NOTSPACE:cs_header_names}%{SPACE}%{NOTSPACE:cs_headers_count}$Pegue el Grok actualizado en la sección de lógica de análisis y luego seleccione
Test grok
para validar que su analizador esté funcionando.
Habilite la regla y luego elija
Save parsing rule
.
Una captura de pantalla de la configuración de análisis personalizado de CloudFront.
¿Que sigue?
Nuestro registro de inicio rápido para Amazon CloudFront Access incluye un dashboard prediseñado.
Aquí hay algunas ideas para los próximos pasos:
Comience en minutos con un dashboard prediseñado para ver las métricas clave de su registro de acceso a Amazon CloudFront. Vaya al registro de acceso de Amazon CloudFront inicio rápido y haga clic en
Install now
.
Explore los datos de logging en su plataforma con nuestra UI de logs.
Obtenga una visibilidad más profunda de los datos de rendimiento de su aplicación y de su plataforma reenviando su registro con nuestras capacidades de logs en el contexto .
Configurar alertas.
Desactivar reenvío de logs
Para desactivar las capacidades de reenvío de registros, hay dos opciones. Si solo desea dejar de enviar el registro de S3 a New Relic , puede eliminar el disparador de S3 en la función NewRelic-log-ingestion-s3
Lambda. Si desea deshabilitar completamente el registro de acceso de Amazon CloudFront, deberá eliminar el activador y desactivar el registro en la configuración general de la distribución de CloudFront.