ALB 访问日志的示例查询 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

ALB 访问日志的示例查询

以下查询计算按客户端 IP 地址分组的负载均衡器接收到的 HTTP GET 请求的数目:

SELECT COUNT(request_verb) AS count, request_verb, client_ip FROM alb_access_logs GROUP BY request_verb, client_ip LIMIT 100;

另一个查询显示 Safari 浏览器用户访问的 URL:

SELECT request_url FROM alb_access_logs WHERE user_agent LIKE '%Safari%' LIMIT 10;

以下查询显示了 ELB 状态代码值大于或等于 500 的记录。

SELECT * FROM alb_access_logs WHERE elb_status_code >= 500

以下示例演示了如何根据 datetime 解析日志:

SELECT client_ip, sum(received_bytes) FROM alb_access_logs WHERE parse_datetime(time,'yyyy-MM-dd''T''HH:mm:ss.SSSSSS''Z') BETWEEN parse_datetime('2018-05-30-12:00:00','yyyy-MM-dd-HH:mm:ss') AND parse_datetime('2018-05-31-00:00:00','yyyy-MM-dd-HH:mm:ss') GROUP BY client_ip;

以下查询会查询在指定日期内对所有 ALB 访问日志使用分区投影的表。

SELECT * FROM alb_access_logs WHERE day = '2022/02/12'