Consulta a logs do Classic Load Balancer - Amazon Athena

Consulta a logs do Classic Load Balancer

Consulte os logs do Classic Load Balancer para analisar e saber os padrões do tráfego que entra e sai das instâncias e das aplicações de backend do Elastic Load Balancing. Você pode ver a origem do tráfego, da latência e dos bytes que foram transferidos.

Antes de analisar os logs do Elastic Load Balancing, configure-os para que sejam salvos no bucket de destino do Amazon S3. Para obter mais informações, consulte Habilitar os logs de acesso do seu Classic Load Balancer.

Para criar a tabela de logs do Elastic Load Balancing
  1. Copie e cole a instrução DDL a seguir no console do Athena. Verifique a sintaxe dos registros de log do Elastic Load Balancing. Pode ser necessário atualizar a consulta a seguir para incluir as colunas e a sintaxe Regex para a versão mais recente do 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/';
  2. Modifique o bucket LOCATION do Amazon S3 para especificar o destino dos logs do Elastic Load Balancing.

  3. Execute a consulta no console do Athena. Depois que a consulta for concluída, o Athena registrará a tabela elb_logs, preparando os dados dela para as consultas. Para ter mais informações, consulte Consultas de exemplo.

Consultas de exemplo

Use uma consulta semelhante à consulta do exemplo a seguir. Ele lista os servidores de aplicativos de backend que retornaram um código de resposta de erro 4XX ou 5XX. Use o operador LIMIT para limitar o número de logs a serem consultados por vez.

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;

Use uma consulta subsequente para somar o tempo de resposta de todas as transações agrupadas por endereço IP de backend e nome da instância do Elastic Load Balancing.

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 obter mais informações, consulte Analyzing data in S3 using Athena (Analisar dados no S3 usando o Athena).