Registros de acceso del Equilibrador de carga de aplicación - Elastic Load Balancing

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 de aplicación

Elastic Load Balancing proporciona registros de acceso que capturan información detallada sobre las solicitudes enviadas al equilibrador de carga. 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 característica opcional de Elastic Load Balancing que está desactivada de forma predeterminada. Una vez que se han habilitado los registros de acceso del equilibrador de carga, Elastic Load Balancing captura los registros y los almacena en el bucket de Amazon S3 que haya especificado como archivos comprimidos. Puede deshabilitar los registros de acceso en cualquier momento.

Se cobran los costos de almacenamiento en Amazon S3, pero no el ancho de banda que Elastic Load Balancing utilice para enviar los archivos de registros 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

Elastic Load Balancing publica un archivo de registro por cada nodo del equilibrador de carga cada 5 minutos. La entrega de registros presenta consistencia final. El equilibrador de carga puede entregar varios registros para el mismo periodo. Esto suele ocurrir si el tráfico del sitio es elevado.

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

bucket[/prefix]/AWSLogs/aws-account-id/elasticloadbalancing/region/yyyy/mm/dd/aws-account-id_elasticloadbalancing_region_app.load-balancer-id_end-time_ip-address_random-string.log.gz
bucket

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 de AWS cuenta del propietario.

region

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

aaaa/mm/dd

La fecha de entrega del log.

load-balancer-id

ID de recurso del equilibrador de carga. Si el ID de recurso contiene barras diagonales (/), estas se sustituyen por puntos (.).

end-time

La fecha y hora en que finalizó el intervalo de registro. Por ejemplo, una hora de finalización de 20140215T2340Z contiene entradas para las solicitudes realizadas entre las 23:35 y las 23:40 de la hora de Zulú. UTC

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:

s3://my-bucket/my-prefix/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz

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

s3://my-bucket/AWSLogs/123456789012/elasticloadbalancing/us-east-2/2022/05/01/123456789012_elasticloadbalancing_us-east-2_app.my-loadbalancer.1234567890abcdef_20220215T2340Z_172.160.001.192_20sg8hgm.log.gz

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 Simple Storage Service.

Entradas de los registros de acceso

Elastic Load Balancing registra las solicitudes enviadas al equilibrador de carga, incluidas las que nunca han llegado a los destinos. Por ejemplo, si un cliente envía una solicitud con un formato incorrecto o no hay ningún destino en buen estado para responder, la solicitud se registra igualmente. Elastic Load Balancing no registra las solicitudes de comprobación de estado.

Cada entrada de registro contiene los detalles de una sola solicitud (o conexión, en su caso) realizada al balanceador de cargas. WebSockets WebSocketsEn efecto, una entrada se escribe solo después de cerrar la conexión. Si no se puede establecer la conexión mejorada, la entrada es la misma que para una HTTPS solicitud HTTP o.

importante

Elastic Load Balancing registra las solicitudes en la medida en que sea 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

En la siguiente tabla se describen los campos de una entrada de registro de acceso, por orden. Todos los campos están delimitados por espacios. Cuando se introducen campos nuevos, se añaden al final de la entrada de log. Debe hacer caso omiso de todos los campos inesperados situados al final de la entrada de log.

Campo Descripción

type

Tipo de solicitud o conexión. Los valores posibles son los siguientes (haga caso omiso de todos los demás valores):

  • http — HTTP

  • https— HTTP terminado TLS

  • h2— HTTP 1/2 sobre TLS

  • grpcs— ir RPC más allá TLS

  • ws — WebSockets

  • wss— WebSockets más TLS

hora

La hora en que el balanceador de cargas generó una respuesta para el cliente, en formato ISO 8601. Pues WebSockets, este es el momento en el que se cierra la conexión.

elb

ID de recurso del equilibrador de carga. Si está analizando las entradas del registro de acceso, tenga en cuenta que los recursos IDs pueden contener barras diagonales (/).

client:port

Dirección IP y puerto del cliente solicitante. Si hay un proxy delante del equilibrador de carga, este campo contiene la dirección IP del proxy.

target:port

Dirección IP y puerto del destino que procesó esta solicitud.

Si el cliente no envió una solicitud completa, el equilibrador de carga no puede enviar la solicitud a un destino, en cuyo caso este valor se establece en -.

Si el destino es una función de Lambda, este valor se establece en -.

Si la solicitud está bloqueada por AWS WAF, este valor se establece en - y el valor de elb_status_code se establece en 403.

request_processing_time

Tiempo total (en segundos, con precisión de milisegundo) transcurrido desde que el equilibrador de carga recibió la solicitud hasta que se la envió a un destino.

Este valor también se establece en -1 si el equilibrador de carga no consigue enviar la solicitud a un destino. Esto puede ocurrir si el destino 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 no se puede establecer una TCP conexión con el objetivo antes de que se agote el tiempo de espera de la conexión de 10 segundos. TCP

Si AWS WAF está habilitada para su Application Load Balancer o el tipo de destino es una función Lambda, se tendrá en cuenta el tiempo que tarda el cliente en enviar los datos necesarios para POST las solicitudes. request_processing_time

target_processing_time

Tiempo total (en segundos, con precisión de milisegundo) transcurrido desde que el equilibrador de carga envió la solicitud a un destino hasta que este comenzó a enviar los encabezados de la respuesta.

Este valor también se establece en -1 si el equilibrador de carga no consigue enviar la solicitud a un destino. Esto puede ocurrir si el destino 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 el destino registrado no responde antes de que se agote el tiempo de inactividad.

Si no AWS WAF está activado para su Application Load Balancer, se tendrá en cuenta el tiempo que tarda el cliente en enviar los datos necesarios para POST las solicitudes. target_processing_time

response_processing_time

Tiempo total (en segundos, con precisión de milisegundo) transcurrido desde que el equilibrador de carga recibió el encabezado de respuesta del destino 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.

Este valor se establece en -1 si el equilibrador de carga no recibe una respuesta de un destino. Esto puede ocurrir si el destino 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.

elb_status_code

El código de estado de la respuesta generado por el balanceador de cargas, la regla de respuesta fija o el código de respuesta AWS WAF personalizado para las acciones de bloqueo.

target_status_code

Código de estado de la respuesta desde el destino. Este valor se registra únicamente si se estableció una conexión con el destino y este envió una respuesta. De lo contrario, se establece en -.

received_bytes

Tamaño de la solicitud, en bytes, recibida desde el cliente (solicitante). En el HTTP caso de las solicitudes, esto incluye los encabezados. Pues WebSockets, este es el número total de bytes recibidos del cliente en la conexión.

sent_bytes

Tamaño de la respuesta, en bytes, enviada al cliente (solicitante). En el HTTP caso de las solicitudes, esto incluye los encabezados. Pues WebSockets, este es el número total de bytes enviados al cliente en la conexión.

"request"

La línea de solicitud del cliente, entre comillas dobles y registrada con el siguiente formato: HTTP method + protocol: //host:port/uri + version. HTTP El balanceador de cargas conserva lo URL enviado por el cliente, tal cual, al registrar la solicitud. URI No establece el tipo de contenido para el archivo de registro de acceso. Cuando procese este campo, tenga en cuenta cómo envió el cliente elURL.

"user_agent"

Cadena User-Agent que identifica el cliente que originó la solicitud, entre comillas. La cadena consta de uno o varios identificadores de producto, con el formato producto[/versión]. Si la cadena tiene más de 8 KB, se trunca.

ssl_cipher

[HTTPSoyente] El SSL cifrado. Este valor se establece en - si el oyente no es un oyente. HTTPS

ssl_protocol

[HTTPSoyente] El protocolo. SSL Este valor se establece en - si el oyente no es un HTTPS oyente.

target_group_arn

El nombre del recurso de Amazon (ARN) del grupo objetivo.

"trace_id"

El contenido del encabezado X-Amzn-Trace-Id, entre comillas.

"domain_name"

[HTTPSlistener] El SNI dominio proporcionado por el cliente durante el TLS apretón de manos, entre comillas dobles. Este valor se establece en - si el cliente no admite un certificado SNI o el dominio no coincide con él y se presenta al cliente el certificado predeterminado.

"chosen_cert_arn"

[HTTPSoyente] El ARN del certificado presentado al cliente, entre comillas dobles. Este valor se establece en session-reused si se reutiliza la sesión. Este valor se establece en - si el oyente no es un HTTPS oyente.

matched_rule_priority

El valor de prioridad de la regla que coincide con la solicitud. Si hay una regla que coincide, este es un valor de 1 a 50 000. Si no hay ninguna regla que coincida, y se ha realizado la acción predeterminada, este valor se establece en 0. Si se produce un error durante la evaluación de reglas, se establece en -1. Para cualquier otro error, se establece en -.

request_creation_time

La hora en que el balanceador de cargas recibió la solicitud del cliente, en ISO formato 8601.

"actions_executed"

Las acciones realizadas al procesar la solicitud, entre comillas. Este valor es una lista separada por comas que puede incluir los valores que se describen en Medidas tomadas. Si no se ha realizado ninguna acción, como en el caso de una solicitud con formato incorrecto, este valor se establece en -.

"redirect_url"

El destino URL de redireccionamiento del encabezado de ubicación de la HTTP respuesta, entre comillas dobles. Si no se ejecutan acciones de redirección, este valor se establece en -.

"error_reason"

El código de motivo de error, entre comillas dobles. Si la solicitud produjo un error, este es uno de los códigos de error que se describen en Códigos de motivo de error. Si las acciones realizadas no incluyen una acción de autenticación o el destino no es una función de Lambda, este valor se establece en -.

"target:port_list"

Una lista delimitada por espacios de direcciones IP y puertos para los destinos que procesaron esta solicitud, entre comillas dobles. Actualmente, esta lista puede contener un elemento y coincide con el campo target:port.

Si el cliente no envió una solicitud completa, el equilibrador de carga no puede enviar la solicitud a un destino, en cuyo caso este valor se establece en -.

Si el destino es una función de Lambda, este valor se establece en -.

Si la solicitud está bloqueada por AWS WAF, este valor se establece en - y el valor de elb_status_code se establece en 403.

"target_status_code_list"

Una lista delimitada por espacios de códigos de estado de las respuestas de los destinos, entre comillas dobles. Actualmente, esta lista puede contener un elemento y coincide con el campo target_status_code.

Este valor se registra únicamente si se estableció una conexión con el destino y este envió una respuesta. De lo contrario, se establece en -.

"classification"

La clasificación de la mitigación de la desincronización, entre comillas dobles. Si la solicitud no cumple con la norma RFC 7230, los valores posibles son Aceptable, Ambiguo y Grave.

Si la solicitud cumple con los requisitos RFC 7230, este valor se establece en -.

"classification_reason"

El código de motivo de la clasificación, entre comillas dobles. Si la solicitud no cumple con el RFC 7230, se trata de uno de los códigos de clasificación descritos en. Motivos de la clasificación Si la solicitud cumple con la norma RFC 7230, este valor se establece en -.

conn_trace_id

El identificador de trazabilidad de la conexión es un identificador opaco único que se utiliza para identificar cada conexión. Una vez establecida una conexión con un cliente, las solicitudes posteriores de este cliente incluirán este ID en sus respectivas entradas del registro de acceso. Este ID actúa como una clave externa para crear un enlace entre los registros de conexión y acceso.

Medidas tomadas

El equilibrador de carga almacena las acciones que realiza en el campo actions_executed del registro de acceso.

  • authenticate: el equilibrador de carga validó la sesión, autenticó al usuario y agregó la información del usuario a los encabezados de las solicitudes, según lo especificado en la configuración de la regla.

  • fixed-response: el equilibrador de carga emitió una respuesta fija, según lo especificado en la configuración de la regla.

  • forward: el equilibrador de carga reenvió la solicitud a un destino, según lo especificado en la configuración de la regla.

  • redirect— El balanceador de cargas redirigió la solicitud a otraURL, según lo especificado en la configuración de la regla.

  • waf: el equilibrador de carga reenvió la solicitud a AWS WAF para determinar si debía reenviarse al destino. Si esta es la acción final, AWS WAF determinó que la solicitud debe rechazarse. De forma predeterminada, las solicitudes rechazadas por se AWS WAF registrarán como «403» en el elb_status_code campo. Si AWS WAF está configurado para rechazar solicitudes con un código de respuesta personalizado, el elb_status_code campo reflejará el código de respuesta configurado.

  • waf-failed— El balanceador de cargas intentó reenviar la solicitud AWS WAF, pero el proceso falló.

Motivos de la clasificación

Si una solicitud no cumple con la norma RFC 7230, el balanceador de cargas almacena uno de los siguientes códigos en el campo classification_reason del registro de acceso. Para obtener más información, consulte Modo de mitigación de desincronización.

Código Descripción Clasificación

AmbiguousUri

La solicitud contiene caracteres de control. URI

Ambigua

BadContentLength

El encabezado Content-Length contiene un valor que no se puede analizar o que no es un número válido.

Grave

BadHeader

Un encabezado contiene un carácter nulo o un retorno de carro.

Grave

BadTransferEncoding

El encabezado Transfer-Encoding contiene un valor incorrecto.

Grave

BadUri

La solicitud URI contiene un carácter nulo o una devolución de transporte.

Grave

BadMethod

El método de la solicitud tiene un formato incorrecto.

Grave

BadVersion

La versión de la solicitud tiene un formato incorrecto.

Grave

BothTeClPresent

La solicitud contiene un encabezado Transfer-Encoding y un encabezado Content-Length.

Ambigua

DuplicateContentLength

Hay varios encabezados Content-Length con el mismo valor.

Ambigua

EmptyHeader

Un encabezado está vacío o hay una línea que solo contiene espacios.

Ambigua

GetHeadZeroContentLength

Hay un encabezado Content-Length con un valor de 0 para una solicitud GET oHEAD.

Aceptable

MultipleContentLength

Hay varios encabezados Content-Length con valores diferentes.

Grave

MultipleTransferEncodingChunked

Hay varios encabezados Transfer-Encoding fragmentados.

Grave

NonCompliantHeader

Un encabezado contiene un carácter que no es de control ASCII o no es de control.

Aceptable

NonCompliantVersion

La versión de la solicitud contiene un valor incorrecto.

Aceptable

SpaceInUri

La solicitud URI contiene un espacio que no está URL codificado.

Aceptable

SuspiciousHeader

Hay un encabezado que se puede normalizar a Transfer-Encoding o Content-Length mediante técnicas comunes de normalización de texto.

Ambigua

UndefinedContentLengthSemantics

Hay un encabezado de longitud de contenido definido para una solicitud GET oHEAD.

Ambigua

UndefinedTransferEncodingSemantics

Hay un encabezado de codificación de transferencia definido para una solicitud o. GET HEAD

Ambigua

Códigos de motivo de error

Si el equilibrador de carga no puede completar una acción de autenticación, el equilibrador de carga almacena uno de los siguientes códigos de motivo de error en el campo error_reason del registro de acceso. El balanceador de cargas también incrementa la métrica correspondiente. CloudWatch Para obtener más información, consulte Autenticación de usuarios mediante un Equilibrador de carga de aplicación.

Código Descripción Métrica

AuthInvalidCookie

La cookie de autenticación no es válida.

ELBAuthFailure

AuthInvalidGrantError

El código de concesión de autorización del punto de conexión del token no es válido.

ELBAuthFailure

AuthInvalidIdToken

El token de ID no es válido.

ELBAuthFailure

AuthInvalidStateParam

El parámetro de estado no es válido.

ELBAuthFailure

AuthInvalidTokenResponse

La respuesta desde el punto de conexión del token no es válida.

ELBAuthFailure

AuthInvalidUserinfoResponse

La respuesta desde el punto de conexión de información de usuario no es válida.

ELBAuthFailure

AuthMissingCodeParam

En la respuesta de autenticación desde el punto de conexión de autorización falta un parámetro de consulta denominado ‘code’.

ELBAuthFailure

AuthMissingHostHeader

En la respuesta de autenticación desde el punto de conexión de autorización falta un campo de encabezado de host.

ELBAuthError

AuthMissingStateParam

En la respuesta de autenticación desde el punto de conexión de autorización falta un parámetro de consulta denominado ‘state’.

ELBAuthFailure

AuthTokenEpRequestFailed

Hay una respuesta de error (no 2XX) del punto de conexión del token.

ELBAuthError

AuthTokenEpRequestTimeout

El equilibrador de carga no puede comunicarse con el punto de conexión del token.

ELBAuthError

AuthUnhandledException

El equilibrador de carga encontró una excepción no administrada.

ELBAuthError

AuthUserinfoEpRequestFailed

Hay una respuesta de error (no 2XX) del punto de conexión de información de usuario de IdP.

ELBAuthError

AuthUserinfoEpRequestTimeout

El equilibrador de carga no puede comunicarse con el punto de conexión de información de usuario de IdP.

ELBAuthError

AuthUserinfoResponseSizeExceeded

El tamaño de las reclamaciones devueltas por el IdP supera los 11K bytes.

ELBAuthUserClaimsSizeExceeded

Si se produce un error en una solicitud a un grupo de destino ponderado, el equilibrador de carga almacena uno de los siguientes códigos de error en el campo error_reason del registro de acceso.

Código Descripción

AWSALBTGCookieInvalid

La AWSALBTG cookie, que se utiliza con los grupos objetivo ponderados, no es válida. Por ejemplo, el balanceador de cargas devuelve este error cuando se URL codifican los valores de las cookies.

WeightedTargetGroupsUnhandledException

El equilibrador de carga encontró una excepción no administrada.

Si una solicitud dirigida a una función de Lambda produce un error, el equilibrador de carga almacena uno de los siguientes códigos de motivo en el campo error_reason del registro de acceso. El balanceador de cargas también incrementa la métrica correspondiente. CloudWatch Para obtener más información, consulte la acción Lambda Invoke.

Código Descripción Métrica

LambdaAccessDenied

El equilibrador de carga no tenía permiso para invocar la función de Lambda.

LambdaUserError

LambdaBadRequest

Se produjo un error en la invocación a Lambda porque los encabezados o el cuerpo de la solicitud del cliente no contenían solo 8 caracteres. UTF

LambdaUserError

LambdaConnectionError

El equilibrador de carga no puede conectarse a Lambda.

LambdaInternalError

LambdaConnectionTimeout

Se agotó el tiempo de espera al intentar conectarse a Lambda.

LambdaInternalError

LambdaEC2AccessDeniedException

Amazon EC2 denegó el acceso a Lambda durante la inicialización de la función.

LambdaUserError

LambdaEC2ThrottledException

Amazon EC2 limitó Lambda durante la inicialización de la función.

LambdaUserError

LambdaEC2UnexpectedException

Amazon EC2 ha detectado una excepción inesperada durante la inicialización de la función.

LambdaUserError

LambdaENILimitReachedException

Lambda no pudo crear una interfaz de red en la configuración VPC especificada en la configuración de la función Lambda porque se superó el límite de interfaces de red.

LambdaUserError

LambdaInvalidResponse

La respuesta de la función de Lambda no tiene el formato correcto o no incluye campos obligatorios.

LambdaUserError

LambdaInvalidRuntimeException

La versión especificada del tiempo de ejecución de Lambda no se admite.

LambdaUserError

LambdaInvalidSecurityGroupIDException

El ID de grupo de seguridad especificado en la configuración de la función de Lambda no es válido.

LambdaUserError

LambdaInvalidSubnetIDException

El ID de subred especificado en la configuración de la función de Lambda no es válido.

LambdaUserError

LambdaInvalidZipFileException

Lambda no pudo descomprimir el archivo zip de la función especificada.

LambdaUserError

LambdaKMSAccessDeniedException

Lambda no pudo descifrar las variables de entorno porque se denegó el acceso a la KMS clave. Compruebe los KMS permisos de la función Lambda.

LambdaUserError

LambdaKMSDisabledException

Lambda no pudo descifrar las variables de entorno porque la KMS clave especificada está deshabilitada. Compruebe los ajustes KMS clave de la función Lambda.

LambdaUserError

LambdaKMSInvalidStateException

Lambda no pudo descifrar las variables de entorno porque el estado de la KMS clave no es válido. Compruebe los ajustes KMS clave de la función Lambda.

LambdaUserError

LambdaKMSNotFoundException

Lambda no pudo descifrar las variables de entorno porque no se encontró la KMS clave. Compruebe los ajustes KMS clave de la función Lambda.

LambdaUserError

LambdaRequestTooLarge

El tamaño del cuerpo de la solicitud era superior a 1 MB.

LambdaUserError

LambdaResourceNotFound

No se pudo encontrar la función de Lambda.

LambdaUserError

LambdaResponseTooLarge

El tamaño de la respuesta era superior a 1 MB.

LambdaUserError

LambdaServiceException

Lambda detectó un error interno.

LambdaInternalError

LambdaSubnetIPAddressLimitReachedException

Lambda no pudo configurar el VPC acceso a la función Lambda porque una o más subredes no tienen direcciones IP disponibles.

LambdaUserError

LambdaThrottling

La función de Lambda se rechazó porque había demasiadas solicitudes.

LambdaUserError

LambdaUnhandled

La función de Lambda encontró una excepción no administrada.

LambdaUserError

LambdaUnhandledException

El equilibrador de carga encontró una excepción no administrada.

LambdaInternalError

LambdaWebsocketNotSupported

WebSockets Lambda no los admite.

LambdaUserError

Si el balanceador de cargas detecta un error al reenviar las solicitudes AWS WAF, almacena uno de los siguientes códigos de error en el campo error_reason del registro de acceso.

Código Descripción

WAFConnectionError

El balanceador de cargas no se puede conectar a. AWS WAF

WAFConnectionTimeout

Se agotó el AWS WAF tiempo de espera de la conexión.

WAFResponseReadTimeout

Se ha agotado el AWS WAF tiempo de espera de una solicitud.

WAFServiceError

AWS WAF devolvió un error de 5XX.

WAFUnhandledException

El equilibrador de carga encontró una excepción no administrada.

Ejemplo de entradas de registro

A continuación, se muestran ejemplos de entradas de registro. Tenga en cuenta que el texto aparece en varias líneas únicamente para facilitar su lectura.

Ejemplo HTTP de entrada

El siguiente es un ejemplo de entrada de registro para un HTTP oyente (del puerto 80 al puerto 80):

http 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 192.168.131.39:2817 10.0.0.1:80 0.000 0.001 0.000 200 200 34 366 "GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - - arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337262-36d228ad5d99923122bbe354" "-" "-" 0 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.0.1:80" "200" "-" "-"
Ejemplo HTTPS de entrada

El siguiente es un ejemplo de entrada de registro para un HTTPS oyente (del puerto 443 al puerto 80):

https 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 192.168.131.39:2817 10.0.0.1:80 0.086 0.048 0.037 200 200 0 57 "GET https://www.example.com:443/ HTTP/1.1" "curl/7.46.0" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337281-1d84f3d73c47ec4e58577259" "www.example.com" "arn:aws:acm:us-east-2:123456789012:certificate/12345678-1234-1234-1234-123456789012" 1 2018-07-02T22:22:48.364000Z "authenticate,forward" "-" "-" "10.0.0.1:80" "200" "-" "-" TID_123456
Ejemplo: HTTP /2 entrada

A continuación se muestra un ejemplo de entrada de registro para un flujo HTTP /2.

h2 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 10.0.1.252:48160 10.0.0.66:9000 0.000 0.002 0.000 200 200 5 257 "GET https://10.0.2.105:773/ HTTP/2.0" "curl/7.46.0" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337327-72bd00b0343d75b906739c42" "-" "-" 1 2018-07-02T22:22:48.364000Z "redirect" "https://example.com:80/" "-" "10.0.0.66:9000" "200" "-" "-"
Ejemplo de WebSockets entrada

A continuación se muestra un ejemplo de entrada de registro para una WebSockets conexión.

ws 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 10.0.0.140:40914 10.0.1.192:8010 0.001 0.003 0.000 101 101 218 587 "GET http://10.0.0.30:80/ HTTP/1.1" "-" - - arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-" 1 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.1.192:8010" "101" "-" "-"
Ejemplo de WebSockets entrada segura

A continuación se muestra un ejemplo de entrada de registro para una WebSockets conexión segura.

wss 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 10.0.0.140:44244 10.0.0.171:8010 0.000 0.001 0.000 101 101 218 786 "GET https://10.0.0.30:443/ HTTP/1.1" "-" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-" 1 2018-07-02T22:22:48.364000Z "forward" "-" "-" "10.0.0.171:8010" "101" "-" "-"
Entradas de ejemplo de funciones de Lambda

A continuación, se muestra una entrada de registro de ejemplo de una solicitud dirigida a una función de Lambda que se realizó correctamente:

http 2018-11-30T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 192.168.131.39:2817 - 0.000 0.001 0.000 200 200 34 366 "GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - - arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-" 0 2018-11-30T22:22:48.364000Z "forward" "-" "-" "-" "-" "-" "-"

A continuación, se muestra una entrada de registro de ejemplo de una solicitud dirigida a una función de Lambda que produjo un error:

http 2018-11-30T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 192.168.131.39:2817 - 0.000 0.001 0.000 502 - 34 366 "GET http://www.example.com:80/ HTTP/1.1" "curl/7.46.0" - - arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 "Root=1-58337364-23a8c76965a2ef7629b185e3" "-" "-" 0 2018-11-30T22:22:48.364000Z "forward" "-" "LambdaInvalidResponse" "-" "-" "-" "-"

Procesamiento de archivos de registro de acceso

Los archivos de registro de acceso están comprimidos. Si descarga los archivos, debe descomprimirlos para ver la información.

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: