Consulta de los registros del Equilibrador de carga clásico
Utilice los registros del Equilibrador de carga clásico para analizar y conocer los patrones del tráfico desde y hacia instancias de Elastic Load Balancing y aplicaciones de backend. Puede ver el origen del tráfico, su latencia y los bytes que se han transferido.
Antes de analizar los registros del Elastic Load Balancing, configúrelos para que se guarden en el bucket de Amazon S3 de destino. Para obtener más información, consulte Habilitación de los registros de acceso del equilibrador de carga clásico.
Cómo crear la tabla de registros de Elastic Load Balancing
-
Copie y pegue la siguiente instrucción DDL en la consola de Athena. Verifique la sintaxis de los registros log de Elastic Load Balancing. Es posible que tenga que actualizar la siguiente consulta para incluir las columnas y la sintaxis Regex de la versión más reciente del registro.
CREATE EXTERNAL TABLE IF NOT EXISTS elb_logs ( timestamp string, elb_name string, request_ip string, request_port int, backend_ip string, backend_port int, request_processing_time double, backend_processing_time double, client_response_time double, elb_response_code string, backend_response_code string, received_bytes bigint, sent_bytes bigint, request_verb string, url string, protocol string, user_agent string, ssl_cipher string, ssl_protocol string ) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe' WITH SERDEPROPERTIES ( 'serialization.format' = '1', 'input.regex' = '([^ ]*) ([^ ]*) ([^ ]*):([0-9]*) ([^ ]*)[:-]([0-9]*) ([-.0-9]*) ([-.0-9]*) ([-.0-9]*) (|[-0-9]*) (-|[-0-9]*) ([-0-9]*) ([-0-9]*) \\\"([^ ]*) ([^ ]*) (- |[^ ]*)\\\" (\"[^\"]*\") ([A-Z0-9-]+) ([A-Za-z0-9.-]*)$' ) LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/
AWS_account_ID
/elasticloadbalancing/'; -
Modifique el bucket de Amazon S3
LOCATION
para especificar el destino de los registros de Elastic Load Balancing. -
Ejecute la consulta en la consola de Athena. Cuando la consulta finaliza, Athena registra la tabla
elb_logs
y los datos que contiene quedan disponibles para efectuar consultas. Para obtener más información, consulte Consultas de ejemplo.
Consultas de ejemplo
Utilice una consulta similar a la del siguiente ejemplo. En ella se muestran los servidores de aplicaciones backend que han devuelto un código de respuesta de error 4XX
o 5XX
. Utilice el operador LIMIT
para limitar el número de registros que devuelve la consulta.
SELECT timestamp, elb_name, backend_ip, backend_response_code FROM elb_logs WHERE backend_response_code LIKE '4%' OR backend_response_code LIKE '5%' LIMIT 100;
Ejecute una consulta adicional para sumar el tiempo de respuesta de todas las transacciones agrupado por la dirección IP y el nombre de la instancia de Elastic Load Balancing del backend.
SELECT sum(backend_processing_time) AS total_ms, elb_name, backend_ip FROM elb_logs WHERE backend_ip <> '' GROUP BY backend_ip, elb_name LIMIT 100;
Para obtener más información, consulte Análisis de datos en S3 con Athena