← Log Explorer / log-explorer
Příklady SQL dotazů
Následující příklady ukazují praktické dotazy SQL, které můžete použít s http_requests datové sady v Log Exploreru. Úplný seznam podporované syntaxe SQL najdete v Podporované dotazy SQL.
V každém příkladu upravte časové rozsahy tak, aby odpovídaly období, na které se chcete dotazovat.
Shrňte využití CDN
Získejte souhrnný přehled celkového počtu požadavků a přenosu dat za konkrétní časové období. Výsledky zahrnují celkový počet přenesených bajtů a jejich převod na megabajty a gigabajty.
SELECT
COUNT(*) AS total_requests,
SUM(EdgeResponseBytes) AS total_data_transfer,
SUM(EdgeResponseBytes) / (1024.0 * 1024.0 * 1024.0) AS total_data_transfer_gb,
SUM(EdgeResponseBytes) / (1024.0 * 1024.0) AS total_data_transfer_mb
FROM
http_requests
WHERE {{ timeFilter }}Zkontrolujte rozložení bezpečnostních akcí
Zjistěte, jak jsou bezpečnostní akce, jako je blokování a challenge, rozloženy napříč vaším provozem, a identifikujte nejčastější bezpečnostní odpovědi uplatňované na požadavky.
SELECT
SecurityAction,
COUNT(*) AS ActionCount
FROM http_requests
WHERE SecurityAction != 'unknown'
AND SecurityAction IS NOT NULL
GROUP BY SecurityAction
ORDER BY ActionCount DESCVyhledání IP adres, které spustily challenge
Identifikujte klientské IP adresy a URI požadavků, které nejčastěji spustily managed, JavaScript nebo interactive challenge, a prošetřete tak případnou aktivitu botů nebo cílené útoky.
SELECT
ClientIP,
ClientRequestURI,
SecurityActions,
COUNT(*) AS Count
FROM http_requests
WHERE {{ timeFilter }}
AND (
ARRAY_CONTAINS(SecurityActions, 'challenge')
OR ARRAY_CONTAINS(SecurityActions, 'managedChallenge')
OR ARRAY_CONTAINS(SecurityActions, 'jsChallenge')
OR ARRAY_CONTAINS(SecurityActions, 'challengeSolved')
)
GROUP BY
ClientIP,
ClientRequestURI,
SecurityActions
ORDER BY Count DESC
LIMIT 20Vyhledání URI s nejvyšší spotřebou šířky pásma
Zjistěte, které URI požadavků spotřebovávají nejvíce šířky pásma, a určete tak velké soubory nebo endpointy s největším přenosem dat.
SELECT
ClientRequestURI,
SUM(EdgeResponseBytes) / (1024 * 1024) AS MegabytesTransferred
FROM http_requests
WHERE {{ timeFilter }}
GROUP BY ClientRequestURI
ORDER BY MegabytesTransferred DESC
LIMIT 10Analýza doby obousměrného přenosu klienta podle zemí
Analyzujte dobu obousměrného přenosu TCP (RTT) klienta v jednotlivých zemích. Zjistíte tak oblasti s vysokou latencí, které by mohly těžit z další optimalizace.
SELECT
ClientCountry,
COUNT(*) AS requests,
AVG(ClientTCPRttMs) AS avg_rtt,
MIN(ClientTCPRttMs) AS min_rtt,
MAX(ClientTCPRttMs) AS max_rtt
FROM http_requests
WHERE {{ timeFilter }}
GROUP BY ClientCountry
ORDER BY avg_rtt DESC
LIMIT 20Shrňte provoz CDN podle stavu cache
Rozdělte provoz podle stavu mezipaměti a změřte průměrnou dobu do prvního bajtu (TTFB) pro každý stav. Vyhodnotíte tak účinnost mezipaměti a zjistíte možnosti pro zlepšení poměru zásahů do mezipaměti.
SELECT
CacheCacheStatus,
COUNT(*) AS requests,
SUM(EdgeResponseBytes) AS total_bytes,
AVG(EdgeTimeToFirstByteMs) AS avg_ttfb
FROM http_requests
WHERE {{ timeFilter }}
GROUP BY CacheCacheStatus
ORDER BY requests DESCVyhledání nejpomalejších cest podle doby do prvního bajtu
Vyhledejte cesty požadavků s nejvyšší průměrnou dobou do prvního bajtu (TTFB) spolu s počtem požadavků a počtem chyb serveru, abyste identifikovali pomalé endpointy, které mohou vyžadovat optimalizaci.
SELECT
ClientRequestPath,
AVG(EdgeTimeToFirstByteMs) AS avg_ttfb,
COUNT(*) AS requests,
SUM(CASE WHEN EdgeResponseStatus >= 500 THEN 1 ELSE 0 END) AS errors
FROM http_requests
WHERE {{ timeFilter }}
GROUP BY ClientRequestPath
ORDER BY avg_ttfb DESC
LIMIT 10