← Analytics / analytics / analytics-engine
Dotazování z Grafany
Workers Analytics Engine je optimalizovaný pro analytiku časových řad, kterou lze zobrazit pomocí nástrojů, jako je Grafana. Každá událost zapsaná z runtime se automaticky doplní o timestamp .
Nastavení pluginu Grafana
Doporučujeme používat Altinity plugin for Clickhouse ↗ pro dotazování Workers Analytics Engine z Grafany.
Nakonfigurujte plugin takto:
- URL:
https://api.cloudflare.com/client/v4/accounts/<account_id>/analytics_engine/sql. Nahraďte<account_id>svým 32znakovým ID účtu (dostupným v dashboardu Cloudflare). - Ponechte všechna nastavení ověřování vypnutá.
- Přidejte vlastní hlavičku s názvem
Authorizationa hodnotu nastavenou naBearer <token>. Nahraďte<token>s odpovídajícím řetězcem API tokenu (viz Dokumentace SQL API kde najdete další informace). - Nemusíte nastavovat žádné další možnosti.
Dotazování časových řad
Pro použití v přehledu obvykle chcete agregovat určitou metriku podle časového intervalu. Toho dosáhnete zaokrouhlením a následným seskupením podle timestamp pole. Následující dotaz tímto způsobem zaokrouhluje a seskupuje a poté počítá průměr pro každý časový interval s ohledem na vzorkování.
SELECT
intDiv(toUInt32(timestamp), 60) * 60 AS t,
blob1 AS label,
SUM(_sample_interval * double1) / SUM(_sample_interval) AS average_metric
FROM dataset_name
WHERE
timestamp <= NOW()
AND timestamp > NOW() - INTERVAL '1' DAY
GROUP BY blob1, t
ORDER BY tPlugin Altinity nabízí užitečná makra, která mohou zjednodušit psaní dotazů tohoto typu. Tato makra vyžadují nastavení Column:DateTime na timestamp v query builderu, poté je lze použít takto:
SELECT
$timeSeries AS t,
blob1 AS label,
SUM(_sample_interval * double1) / SUM(_sample_interval) AS average_metric
FROM dataset_name
WHERE $timeFilter
GROUP BY blob1, t
ORDER BY tTento dotaz automaticky upraví čas zaokrouhlení podle úrovně přiblížení a filtruje na správný časový rozsah, který se právě zobrazuje.