INTEGRITY Dokumentace

Vyžádání protokolů

Endpointy

Rozhraní Logpull API podporuje tyto tři koncové body:

Povinné autentizační hlavičky

Pro všechna volání koncového bodu jsou vyžadovány následující hlavičky:

Alternativně lze k autentizaci použít také API tokeny s oprávněním Logs Read:

Parametry

API očekává parametry endpointu v query řetězci GET požadavku. Níže jsou uvedeny příklady formátů:

logs/received

https://api.cloudflare.com/client/v4/zones/{zone_id}/logs/received?start=<unix|rfc3339>&end=<unix|rfc3339>[&count=<int>][&sample=<float>][&fields=<FIELDS>][&timestamps=<string>][&CVE-2021-44228=<boolean>]

logs/rayids/{ray_id}

https://api.cloudflare.com/client/v4/zones/{zone_id}/logs/rayids/{ray_id}?[&fields=<FIELDS>][&timestamps=<string>]

Následující tabulka popisuje dostupné parametry:

Parametr Popis Platí pro Povinné
start

- Inkluzivní

- Časové razítko ve formátu UNIX (podle definice v UTC), UNIX Nano, nebo rfc3339. Chcete-li určit rfc3339 časové pásmo v parametrech URL dotazu, je nutné URL zakódovat, například takto start=2024-08-07T07:00:00%2B08:00&end=2024-08-07T07:01:00%2B08:00.

- Nesmí být více než 7 dní před současným okamžikem

/logs/received Ano
end

- Exkluzivní

- Stejný formát jako start

- Musí být alespoň o 1 minutu dříve než nyní a později než start

/logs/received Ano
count

- Vrátí až tento počet záznamů

- Nezahrnujte, pokud vracíte všechny záznamy

- Výsledky nejsou seřazené, proto je pravděpodobné, že opakované požadavky vrátí odlišná data

- Platí pro celkový počet vrácených záznamů, nikoli pro počet vzorkovaných záznamů

/logs/received Ne
vzorek

- Vrátí pouze vzorek záznamů

- Nezahrnujte, pokud vracíte všechny záznamy

- Hodnota se může pohybovat od 0.0 (nezahrnující) do 1.0 (včetně)

- sample=0.1 znamená vrátit 10 % (1 z 10) všech záznamů

- Výsledky jsou náhodné, proto je pravděpodobné, že opakované požadavky vrátí odlišný počet výsledků

/logs/received Ne
pole

- Seznam polí k vrácení oddělených čárkami

- Pokud je prázdné, vrátí se výchozí seznam

/logs/received

/logs/rayids

Ne
časová razítka

- Formát, ve kterém budou vrácena pole časového razítka

- Možné hodnoty jsou: unixnano (výchozí), unix, rfc3339

- Časová razítka vrácená jako celá čísla pro unix a unixnano a jako řetězce pro rfc3339

/logs/received

/logs/rayids

Ne
CVE-2021-44228

- Volitelné skrytí (redakce) pro CVE-2021-44228 ↗. Tato možnost nahradí každý výskyt řetězce ${ hodnotou x{.

Například: CVE-2021-44228=true

/logs/received

Ne

Příklady požadavků API pomocí cURL

logs/received

curl "https://api.cloudflare.com/client/v4/zones/{zone_id}/logs/received?start=2017-07-18T22:00:00Z&end=2017-07-18T22:01:00Z&count=1&fields=ClientIP,ClientRequestHost,ClientRequestMethod,ClientRequestURI,EdgeEndTimestamp,EdgeResponseBytes,EdgeResponseStatus,EdgeStartTimestamp,RayID" \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>"

logs/rayids/{ray_id}

curl "https://api.cloudflare.com/client/v4/zones/{zone_id}/logs/rayids/{ray_id}}?timestamps=rfc3339" \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>"

Pole

Pokud není uvedeno v pole parametr, rozhraní API vrátí omezenou sadu polí protokolu. Tato výchozí sada polí se může kdykoli změnit. Seznam všech dostupných polí najdete na:

https://api.cloudflare.com/client/v4/zones/{zone_id}/logs/received/fields

Na pořadí, v jakém jsou pole zadána, nezáleží a pořadí polí v odpovědi není definované.

Pomocí subshellu bash a jq, si můžete stáhnout protokoly se všemi dostupnými poli, aniž byste je museli ručně kopírovat a vkládat do požadavku. Například:

FIELDS=$(curl https://api.cloudflare.com/client/v4/zones/{zone_id}/logs/received/fields \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
| jq '. | to_entries[] | .key' -r | paste -sd "," -)

curl "https://api.cloudflare.com/client/v4/zones/{zone_id}/logs/received?start=2017-07-18T22:00:00Z&end=2017-07-18T22:01:00Z&count=1&fields=$FIELDS" \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>"

Viz Stáhněte si jq ↗ s dalšími informacemi o získání a instalaci jq.

Viz Pole HTTP požadavku pro aktuálně dostupná pole.