Registros de acceso del Equilibrador de carga clásico - ELB

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Registros de acceso del Equilibrador de carga clásico

El ELB proporciona registros de acceso que recopilan información detallada sobre las solicitudes enviadas a tu balanceador de cargas. Cada registro contiene distintos datos, como el momento en que se recibió la solicitud, la dirección IP del cliente, las latencias, las rutas de solicitud y las respuestas del servidor. Puede utilizar estos registros de acceso para analizar los patrones de tráfico y solucionar problemas.

Los registros de acceso son una función opcional del ELB que está deshabilitada de forma predeterminada. Tras habilitar los registros de acceso para el balanceador de cargas, ELB captura los registros y los almacena en el bucket de Amazon S3 que especifique. Puede deshabilitar el registro de acceso en cualquier momento.

Cada archivo de registro de acceso se cifra automáticamente mediante SSE-S3 antes de que se almacene en su bucket de S3 y se descifra al acceder al mismo. No es necesario que haga nada; el cifrado y descifrado se realizan de forma transparente. Cada archivo de registro se cifra con una clave única, que a su vez se cifra con una clave de KMS que se rota periódicamente. Para obtener más información, consulte Protección de datos mediante el cifrado del lado del servidor con las claves de cifrado administradas por Amazon S3 (SSE-S3) en la Guía del usuario de Amazon S3.

Los registros de acceso no suponen ningún cargo adicional. Se le cobrarán los costes de almacenamiento de Amazon S3, pero no se le cobrará por el ancho de banda utilizado por ELB para enviar los archivos de registro a Amazon S3. Para obtener más información acerca de los costos de almacenamiento, consulte Precios de Amazon S3.

Archivos de registro de acceso

ELB publica un archivo de registro para cada nodo del balanceador de carga en el intervalo que especifique. Puede especificar un intervalo de publicación de 5 minutos o 60 minutos al habilitar el registro de acceso del equilibrador de carga. De forma predeterminada, ELB publica los registros con un intervalo de 60 minutos. Si el intervalo se establece en 5 minutos, los registros se publican a las 1:05, 1:10, 1:15 y así sucesivamente. El inicio de la entrega de registros se retrasa hasta 5 minutos si el intervalo es de 5 minutos y hasta 15 minutos si el intervalo es de 60 minutos. Puede modificar el intervalo de publicación en cualquier momento.

El equilibrador de carga puede entregar varios registros para el mismo periodo. Esto suele ocurrir si el sitio tiene mucho tráfico, varios nodos del equilibrador de carga y un intervalo breve de publicación de registros.

Los nombres de archivo de los registros de acceso utilizan el siguiente formato:

amzn-s3-demo-loadbalancer-logs[/logging-prefix]/AWSLogs/aws-account-id/elasticloadbalancing/region/yyyy/mm/dd/aws-account-id_elasticloadbalancing_region_load-balancer-name_end-time_ip-address_random-string.log
aman-s3- demo-loadbalancer-logs

Nombre del bucket de S3.

prefix

(Opcional) El prefijo (jerarquía lógica) del bucket. El prefijo que especifique no debe incluir la cadena AWSLogs. Para obtener más información, consulte Organizar objetos con prefijos.

AWSLogs

Agregamos la parte del nombre de archivo que comienza por AWSLogs después del nombre del bucket y el prefijo que especifique.

aws-account-id

El ID AWS de cuenta del propietario.

region

La región del equilibrador de carga y del bucket de S3.

aaaa/mm/dd

La fecha de entrega del registro.

load-balancer-name

El nombre del equilibrador de carga.

end-time

La fecha y hora en que finalizó el intervalo de registro. Por ejemplo, si el valor de este campo es 20140215T2340Z, contiene las entradas correspondientes a las solicitudes realizadas entre las 23:35 y las 23:40 si el intervalo de publicación es de 5 minutos.

ip-address

La dirección IP del nodo del equilibrador de carga que controló la solicitud. Si se trata de un equilibrador de carga interno, es una dirección IP privada.

random-string

Una cadena generada aleatoriamente por el sistema.

A continuación, se muestra un ejemplo de nombre de archivo de registro con el prefijo “my-app”:

s3://amzn-s3-demo-loadbalancer-logs/my-app/AWSLogs/123456789012/elasticloadbalancing/us-west-2/2018/02/15/123456789012_elasticloadbalancing_us-west-2_my-loadbalancer_20180215T2340Z_172.160.001.192_20sg8hgm.log

A continuación, se muestra un ejemplo de nombre de archivo de registro sin un prefijo:

s3://amzn-s3-demo-loadbalancer-logs/AWSLogs/123456789012/elasticloadbalancing/us-west-2/2018/02/15/123456789012_elasticloadbalancing_us-west-2_my-loadbalancer_20180215T2340Z_172.160.001.192_20sg8hgm.log

Puede almacenar los archivos de registro en su bucket durante todo el tiempo que desee, pero también puede definir reglas de ciclo de vida de Amazon S3 para archivar o eliminar archivos de registro automáticamente. Para obtener más información, consulte Administración del ciclo de vida de los objetos en la Guía del usuario de Amazon S3.

Entradas de los registros de acceso

El ELB registra las solicitudes enviadas al balanceador de cargas, incluidas las solicitudes que nunca llegaron a las instancias de back-end. Por ejemplo, si un cliente envía una solicitud con un formato incorrecto o no hay ninguna instancia en buen estado para responder, la solicitud se registra igualmente.

importante

El ELB registra las solicitudes haciendo el mejor esfuerzo posible. Recomendamos utilizar los registros de acceso para comprender la naturaleza de las solicitudes y no como una relación exhaustiva de todas las solicitudes.

Sintaxis

Cada entrada de registro contiene los detalles de una única solicitud realizada al equilibrador de carga. Todos los campos de la entrada de registro están delimitados por espacios. Cada entrada del archivo registro presenta el siguiente formato:

timestamp elb client:port backend:port request_processing_time backend_processing_time response_processing_time elb_status_code backend_status_code received_bytes sent_bytes "request" "user_agent" ssl_cipher ssl_protocol

En la siguiente tabla se describen los campos de una entrada de registro de acceso.

Campo Description (Descripción)

hora

Hora a la que el equilibrador de carga recibió la solicitud del cliente, en formato ISO 8601.

elb

El nombre del equilibrador de carga

client:port

Dirección IP y puerto del cliente solicitante.

backend:port

Dirección IP y puerto de la instancia registrada que procesó esta solicitud.

Si el equilibrador de carga no consigue enviar la solicitud a una instancia registrada o si una instancia cierra la conexión antes de haber podido enviar una respuesta, este valor se establece en -.

Este valor también se puede establecer en - si la instancia registrada no responde antes de que se agote el tiempo de inactividad.

request_processing_time

[Oyente HTTP] Tiempo total, en segundos, transcurrido desde que el equilibrador de carga recibió la solicitud hasta que se la envió a una instancia registrada.

[Oyente TCP] Tiempo total, en segundos, transcurrido desde que el equilibrador de carga aceptó una conexión de un cliente TCP/SSL hasta que envió el primer byte de datos a una instancia registrada.

Este valor también se establece en -1 si el equilibrador de carga no consigue enviar la solicitud a una instancia registrada. Esto puede ocurrir si la instancia registrada cierra la conexión antes de que se agote el tiempo de inactividad o si el cliente envía una solicitud con el formato incorrecto. Además, en el caso de los oyentes TCP, esto puede ocurrir si el cliente establece una conexión con el equilibrador de carga, pero no envía ningún dato.

Este valor también se puede establecer en -1 si la instancia registrada no responde antes de que se agote el tiempo de inactividad.

backend_processing_time

[Oyente HTTP] Tiempo total, en segundos, transcurrido desde que el equilibrador de carga envió la solicitud a una instancia registrada hasta que esta comenzó a enviar los encabezados de la respuesta.

[Oyente TCP] Tiempo total, en segundos, que tardó el equilibrador de carga en establecer una conexión correcta con una instancia registrada.

Este valor también se establece en -1 si el equilibrador de carga no consigue enviar la solicitud a una instancia registrada. Esto puede ocurrir si la instancia registrada cierra la conexión antes de que se agote el tiempo de inactividad o si el cliente envía una solicitud con el formato incorrecto.

Este valor también se puede establecer en -1 si la instancia registrada no responde antes de que se agote el tiempo de inactividad.

response_processing_time

[Oyente HTTP] Tiempo total (en segundos) transcurrido desde que el equilibrador de carga recibió el encabezado de respuesta de la instancia registrada hasta que comenzó a enviar la respuesta al cliente. Esto incluye tanto el tiempo de cola en el equilibrador de carga como tiempo de adquisición de la conexión entre el equilibrador de carga y el cliente.

[Oyente TCP] Tiempo total (en segundos) transcurrido desde que el equilibrador de carga recibió el primer byte de la instancia registrada hasta que comenzó a enviar la respuesta al cliente.

Este valor también se establece en -1 si el equilibrador de carga no consigue enviar la solicitud a una instancia registrada. Esto puede ocurrir si la instancia registrada cierra la conexión antes de que se agote el tiempo de inactividad o si el cliente envía una solicitud con el formato incorrecto.

Este valor también se puede establecer en -1 si la instancia registrada no responde antes de que se agote el tiempo de inactividad.

elb_status_code

[Oyente HTTP] Código de estado de la respuesta desde el equilibrador de carga.

backend_status_code

[Oyente HTTP] Código de estado de la respuesta desde la instancia registrada.

received_bytes

Tamaño de la solicitud, en bytes, recibida desde el cliente (solicitante).

[Oyente HTTP] El valor incluye el cuerpo de la solicitud, pero no los encabezados.

[Oyente TCP] El valor incluye el cuerpo de la solicitud y los encabezados.

sent_bytes

Tamaño de la respuesta, en bytes, enviada al cliente (solicitante).

[Oyente HTTP] El valor incluye el cuerpo de la respuesta, pero no los encabezados.

[Oyente TCP] El valor incluye el cuerpo de la solicitud y los encabezados.

solicitud

La línea de solicitud del cliente entre comillas dobles y registrada con el siguiente formato: Método HTTP + Protocolo://Encabezado de host:puerto + Ruta + Versión de HTTP. El equilibrador de carga conserva la URL que envía el cliente, tal como está, al registrar el URI de la solicitud. No establece el tipo de contenido para el archivo de registro de acceso. Al procesar este campo, tenga en cuenta cómo envió el cliente la URL.

[Oyente TCP] La dirección URL son tres guiones, separados entre sí por espacios y con un espacio al final ("- - - ").

user_agent

[]HTTP/HTTPS listener] A User-Agent string that identifies the client that originated the request. The string consists of one or more product identifiers, product[/version. Si la cadena tiene más de 8 KB, se trunca.

ssl_cipher

[HTTPS/SSL listener] The SSL cipher. This value is recorded only if the incoming SSL/TLSla conexión se estableció después de una negociación exitosa. De lo contrario, el valor se establece en -.

ssl_protocol

[HTTPS/SSL listener] The SSL protocol. This value is recorded only if the incoming SSL/TLSla conexión se estableció después de una negociación exitosa. De lo contrario, el valor se establece en -.

Ejemplos

Ejemplo de entrada HTTP

A continuación se muestra un ejemplo de entrada de registro para un oyente HTTP (del puerto 80 al puerto 80):

2015-05-13T23:39:43.945958Z my-loadbalancer 192.168.131.39:2817 10.0.0.1:80 0.000073 0.001048 0.000057 200 200 0 29 "GET http://www.example.com:80/ HTTP/1.1" "curl/7.38.0" - -
Ejemplo de entrada HTTPS

A continuación se muestra un ejemplo de entrada de registro para un oyente HTTPS (del puerto 443 al puerto 80):

2015-05-13T23:39:43.945958Z my-loadbalancer 192.168.131.39:2817 10.0.0.1:80 0.000086 0.001048 0.001337 200 200 0 57 "GET https://www.example.com:443/ HTTP/1.1" "curl/7.38.0" DHE-RSA-AES128-SHA TLSv1.2
Ejemplo de entrada TCP

A continuación se muestra un ejemplo de entrada de registro para un oyente TCP (del puerto 8080 al puerto 80):

2015-05-13T23:39:43.945958Z my-loadbalancer 192.168.131.39:2817 10.0.0.1:80 0.001069 0.000028 0.000041 - - 82 305 "- - - " "-" - -
Ejemplo de entrada SSL

A continuación se muestra un ejemplo de entrada de registro para un oyente SSL (del puerto 8443 al puerto 80):

2015-05-13T23:39:43.945958Z my-loadbalancer 192.168.131.39:2817 10.0.0.1:80 0.001065 0.000015 0.000023 - - 57 502 "- - - " "-" ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2

Procesamiento de registros de acceso

Si existe una gran cantidad de demanda en el sitio web, el equilibrador de carga puede generar archivos registro con gigabytes de datos. Es posible que no pueda procesar una cantidad tan grande de datos mediante el line-by-line procesamiento. En tal caso, podría ser preciso utilizar herramientas de análisis que ofrezcan soluciones de procesamiento en paralelo. Por ejemplo, puede utilizar las siguientes herramientas de análisis para analizar y procesar los registros de acceso: