

# ALB アクセスログのクエリ例
<a name="query-alb-access-logs-examples"></a>

次のクエリでは、ロードバランサーで受信し、クライアント 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'
```