Exemples de requêtes pour les journaux d’accès ALB
La requête suivante compte le nombre de demandes HTTP GET reçues par l'équilibreur de charge et regroupées par l'adresse IP du client:
SELECT COUNT(request_verb) AS count, request_verb, client_ip FROM alb_access_logs GROUP BY request_verb, client_ip LIMIT 100;
Une autre requête affiche les URL visitées par les utilisateurs du navigateur Safari:
SELECT request_url FROM alb_access_logs WHERE user_agent LIKE '%Safari%' LIMIT 10;
La requête suivante montre les enregistrements dont les valeurs de code d'état ELB sont supérieures ou égales à 500.
SELECT * FROM alb_access_logs WHERE elb_status_code >= 500
L'exemple suivant montre comment analyser les journaux par 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;
La requête suivante interroge la table qui utilise la projection de partitions pour tous les journaux d’accès ALB à partir du jour spécifié.
SELECT * FROM alb_access_logs WHERE day = '2022/02/12'