INTEGRITY Dokumentace

Query Builder

Query Builder vám pomáhá psát strukturované dotazy pro zkoumání a vizualizaci telemetrických dat. Query Builder prohledává dataset Workers Observability, který v současné době zahrnuje všechny logy uložené Workers Logs.

Query Builder najdete v Observabilita stránky Cloudflare dashboardu:

Přejděte na Observabilita ↗

Povolení Query Builderu

Query Builder je k dispozici všem vývojářům a nevyžaduje žádnou aktivaci. Dotazy prohledávají všechny Workers Logs uložené Cloudflare. Pokud jste Workers Logs ještě neaktivovali, můžete to udělat přidáním následujícího nastavení do Wrangler soubor Workeru a opětovným nasazením Workeru.

{
	"observability": {
		"enabled": true,
		"logs": {
			"invocation_logs": true,
			"head_sampling_rate": 1 // optional. default = 1.
		}
	}
}
[observability]
enabled = true

  [observability.logs]
  invocation_logs = true
  head_sampling_rate = 1

Napište dotaz v Cloudflare dashboardu

  1. V dashboardu Cloudflare přejděte na Workers & Pages stránce.

    Přejděte na Workers & Pages ↗
  2. Vyberte svůj Worker.

  3. Vyberte Observabilita v levém navigačním panelu a poté Přehled kartě.

  4. Vyberte Vizualizace.

  5. Volitelné: Přidejte pole do Filter, Group By, Order By a Limit. Další informace najdete v tom, co sestaví dotaz.

  6. Volitelné: Vyberte příslušné časové rozmezí.

  7. Vyberte Spustit. Dotaz se automaticky spustí při každé provedené změně.

Skládání dotazů

Vizualizace

Query Builder podporuje řadu vizualizačních operátorů, včetně:

Funkce Argumenty Popis
Počet n/a Celkový počet řádků splňujících podmínky dotazu
Count Distinct libovolné pole Počet výskytů jedinečných hodnot v datové sadě
Min číselné pole Nejmenší hodnota pole v datové sadě
Max číselné pole Největší hodnota daného pole v datové sadě
Součet číselné pole Součet všech hodnot pole v datové sadě
Průměr číselné pole Průměr pole v datové sadě
Směrodatná odchylka číselné pole Směrodatná odchylka pole v datové sadě
Rozptyl číselné pole Rozptyl pole v datové sadě
P001 číselné pole Hodnota pole, pod kterou spadá 0.1 % dat
P01 číselné pole Hodnota pole, pod kterou spadá 1 % dat
P05 číselné pole Hodnota pole, pod kterou spadá 5 % dat
P10 číselné pole Hodnota pole, pod kterou spadá 10 % dat
P25 číselné pole Hodnota pole, pod kterou spadá 25 % dat
Medián (P50) číselné pole Hodnota pole, pod kterou spadá 50 % dat
P75 číselné pole Hodnota pole, pod kterou spadá 75 % dat
P90 číselné pole Hodnota pole, pod kterou spadá 90 % dat
P95 číselné pole Hodnota pole, pod kterou spadá 95 % dat
P99 číselné pole Hodnota pole, pod kterou spadá 99 % dat
P999 číselné pole Hodnota pole, pod kterou spadá 99.9 % dat

V jednom dotazu můžete přidat více vizualizací. Každá vizualizace vykreslí graf. Vrací se také jedna souhrnná tabulka, která zobrazuje nezpracované výsledky dotazu.

Příklad zobrazení Query Builderu s více vizualizacemi

Všechny metody jsou agregační funkce. Většina metod pracuje s konkrétním polem v log eventu. Count je výjimkou a je agregační funkcí, která vrací počet událostí protokolu odpovídajících podmínkám filtru.

Filtr

Filtry pomáhají vracet sloupce odpovídající zadaným podmínkám. Filtr má tři složky: klíč, operátor a hodnotu.

Klíčem může být jakékoli pole v události protokolu. Můžete si například zvolit $workers.cpuTimeMs nebo $metadata.message.

Operátor je logická podmínka, která se vyhodnotí jako true nebo false. Podporované podmínky najdete v tabulce níže:

Typ dat Platné podmínky (operátory)
Číselné Rovná se, Nerovná se, Větší než, Větší nebo rovno, Menší než, Menší nebo rovno, Existuje, Neexistuje
Řetězec Rovná se, Nerovná se, Obsahuje, Neobsahuje, Regex, Existuje, Neexistuje, Začíná na

Hodnotou číselného pole je celé číslo. Hodnotou textového pole je libovolný řetězec.

Chcete-li přidat filtr:

  1. Vyberte + v Filtr sekce. 2. Vyberte Vyberte klíč... a zadejte název klíče. Například $workers.cpuTimeMs. 3. Vyberte operátor a změňte jej na nejvhodnější operátor. Například Greater than. 4. Vyberte Vyberte hodnotu... a zadejte hodnotu. Například 100.

Když spustíte dotaz s výše uvedeným filtrem, zobrazí se pouze protokolované události, u kterých $workers.cpuTimeMs > 100 bude vrácen.

Když přidáte více filtrů, zkombinují se pomocí operátoru AND, což znamená, že se vrátí jen události odpovídající všem filtrům.

Search je textový filtr, který vrací pouze události obsahující zadaný text. Search se hodí jako rychlý způsob filtrování nebo pro vyhledávání jedinečných identifikovatelných hodnot ve vašich protokolech.

Group By

Group By spojuje řádky se stejnou hodnotou do souhrnných řádků. Pokud dotaz například přidá $workers.event.request.cf.country jako pole Group By, souhrnná tabulka pak seskupí podle země.

Order By

Order By ovlivňuje způsob řazení výsledků v souhrnné tabulce. Pokud asc je vybráno, výsledky se řadí vzestupně, od nejmenšího po největší. Pokud desc je vybráno, výsledky se řadí sestupně, od největšího po nejmenší.

Limit

Parametr limit omezuje počet vrácených výsledků. V kombinaci s Order By, lze jej použít k vrácení „nejvyšších“ nebo „prvních“ N výsledků.

Vyberte časové rozmezí

Výběrem časového rozsahu určíte časový interval, ve kterém chcete vyhledávat odpovídající události. Doba uchovávání závisí na vašem typ plánu.

Zobrazení výsledků dotazu

Pro dotazy existují tři zobrazení: Visualizations, Invocations a Events.

Karta Visualizations

Vizualizace karta zobrazuje grafy a souhrnnou tabulku pro daný dotaz.

Přehled vizualizace

Karta Invocations

Invocations karta zobrazuje všechny protokoly seskupené podle volání a seřazené podle časového razítka. Vracejí se pouze volání odpovídající kritériím dotazu.

Přehled Invocations

Karta Events

Události karta zobrazuje všechny protokoly seřazené podle časového razítka. Vracejí se pouze události odpovídající kritériím dotazu. Kartu Events lze přizpůsobit a přidat do zobrazení další pole.

Přehled

Ukládání dotazů

Doporučuje se ukládat dotazy, které lze znovu použít při budoucím zkoumání. Dotaz můžete uložit s názvem, popisem a vlastními štítky výběrem Save Query. Dotazy se ukládají na úrovni účtu a jsou přístupné všem uživatelům v daném účtu.

Uložené dotazy lze znovu spustit výběrem příslušného dotazu z Dotazy kartě. Dotaz můžete upravit a změny uložit.

Dotazy mohou uživatelé označit hvězdičkou. Označené dotazy patří konkrétnímu uživateli, ne celému účtu.

Odstranit dotazy

Uložené dotazy lze odstranit z Dotazy kartě. Pokud dotaz smažete, odstraní se pro všechny uživatele účtu.

  1. V dashboardu Cloudflare přejděte na Observabilita stránce.

    Přejděte na Observabilita ↗
  2. Vyberte Dotazy kartě.

  3. Na pravé straně vyberte tři tečky pro další akce.

  4. Vyberte Odstranit dotaz a postupujte podle pokynů.

Sdílení dotazů

Uloženým dotazům je přiřazena jedinečná adresa URL, takže je lze sdílet s libovolným uživatelem v účtu.

Příklad: sestavení dotazu

V tomto příkladu sestavíme dotaz, který najde a pomůže odladit všechny cesty odpovídající chybami 5xx. Nejprve vytvoříme základní dotaz. V tomto základním dotazu chceme vizualizovat podle počtu surových událostí. Můžeme přidat filtr pro $workers.event.response.status která je větší než 500. Poté seskupíme podle $workers.event.request.path a $workers.event.response.status k zjištění počtu požadavků, které toto chování ovlivnilo.

Sestavení dotazu

Výsledky ukazují, že /agents/chat/default cestě se vyskytují chyby 404 a 500. Nyní můžeme na tuto cestu použít filtr a prošetřit to.

Přidání dalšího pole do dotazu

Nyní to můžeme prozkoumat výběrem Invocations kartě. Vidíme, že tato chyba byla zaznamenána při dvou voláních.

Prohlížení karty Invocations v Query Builderu

Jedno vyvolání můžete rozbalit a zobrazit související protokoly a pokračovat v ladění.

Zobrazení protokolů pro jedno vyvolání