INTEGRITY Dokumentace

Povolení Cloudflare R2

Cloudflare Logpush umožňuje odesílat protokoly přímo do R2. Můžete to udělat pomocí automatického nastavení, kdy za vás Cloudflare vytvoří R2 bucket, nebo si pomocí vlastního nastavení vytvořit vlastní R2 bucket. Automatické nastavení je ideální pro rychlé vytvoření bucketu nebo pro testovací účely. Pokud naopak potřebujete mít nad konfigurací plnou kontrolu, použijte vlastní nastavení.

Další informace o R2 najdete v Cloudflare R2 dokumentace.

Automatické nastavení

Pokud chcete pro úlohu Logpush použít automatické nastavení:

  1. V dashboardu Cloudflare přejděte na Logpush stránku na úrovni účtu nebo domény (známé také jako zóna).

    Pro účet: Přejděte na Logpush ↗

    Pro doménu (známou také jako zóna): Přejděte na Logpush ↗

  2. Podle vaší volby máte přístup k datové sady v rozsahu účtu a datové sady s rozsahem zóny, v uvedeném pořadí.

  3. Vyberte Vytvoření úlohy Logpush.

  1. Vyberte R2 Object Storage - automatic jako cíl.

  2. Dále vyberte datovou sadu a oblast úložiště, kterou chcete použít.

  3. Chcete-li dokončit, vyberte Vytvořit úlohu Logpush.

Nastavení by nyní mělo být dokončené. Pokud potřebujete mít nad konfigurací plnou kontrolu, zvažte místo toho vlastní nastavení.

Vlastní nastavení

Cloudflare Logpush umožňuje odesílat protokoly přímo do R2 prostřednictvím Cloudflare dashboardu nebo přes API.

Než začnete:

Správa přes dashboard Cloudflare

  1. V dashboardu Cloudflare přejděte na Logpush stránku na úrovni účtu nebo domény (známé také jako zóna).

    Pro účet: Přejděte na Logpush ↗

    Pro doménu (známou také jako zóna): Přejděte na Logpush ↗

  2. Podle vaší volby máte přístup k datové sady v rozsahu účtu a datové sady s rozsahem zóny, v uvedeném pořadí.

  3. Vyberte Vytvoření úlohy Logpush.

  1. V Vyberte cíl, vyberte R2 Object Storage.

  2. Zadejte nebo vyberte následující údaje o cíli:

    • Bucket - Název bucketu R2
    • Cesta - umístění bucketu, například cloudflare-logs/http_requests/example.com
    • Uspořádejte protokoly do denních podsložek (doporučeno)
    • V části Ověřování přidejte svůj R2 Access Key ID a R2 Secret Access Key. Viz Správa tokenů R2 API ↗ s dalšími informacemi.

Jakmile zadáte podrobnosti cíle, vyberte Pokračovat.

  1. Vyberte datovou sadu, kterou chcete odesílat do úložné služby.

  2. V dalším kroku musíte nakonfigurovat úlohu Logpush:

    • Zadejte Název úlohy.
    • V části Pokud se protokoly shodují, můžete vybrat, které události chcete do protokolů zahrnout nebo z nich odstranit. Více informací najdete v Filtry s dalšími informacemi. Tato možnost není dostupná u všech datových sad.
    • V Odešlete následující pole, můžete se rozhodnout, zda chcete do cílového úložiště odesílat všechny protokoly, nebo si vybrat, které protokoly chcete odesílat.
  3. V Advanced Options, můžete:

    • Zvolte formát polí s časovým razítkem ve svých protokolech (RFC3339 (výchozí), Unix, nebo UnixNano).
    • Vyberte míra vzorkování pro vaše protokoly, nebo odesílejte náhodně vzorkované procento protokolů.
    • Povolte maskování pro CVE-2021-44228. Tato možnost nahradí každý výskyt ${ hodnotou x{.
  4. Vyberte Odeslat jakmile dokončíte konfiguraci úlohy Logpush.

Správa přes API

Chcete-li vytvořit úlohu, proveďte POST požadavek na koncový bod úloh Logpush s následujícími poli:

r2://<BUCKET_PATH>/{DATE}?account-id=<ACCOUNT_ID>&access-key-id=<R2_ACCESS_KEY_ID>&secret-access-key=<R2_SECRET_ACCESS_KEY>

Příklad požadavku pomocí cURL:

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
Vytvořit úlohu Logpush
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/logpush/jobs" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "<DOMAIN_NAME>",
		"output_options": {
				"field_names": [
						"ClientIP",
						"ClientRequestHost",
						"ClientRequestMethod",
						"ClientRequestURI",
						"EdgeEndTimestamp",
						"EdgeResponseBytes",
						"EdgeResponseStatus",
						"EdgeStartTimestamp",
						"RayID"
				],
				"timestamp_format": "rfc3339"
		},
		"destination_conf": "r2://<BUCKET_PATH>/{DATE}?account-id=<ACCOUNT_ID>&access-key-id=<R2_ACCESS_KEY_ID>&secret-access-key=<R2_SECRET_ACCESS_KEY>",
		"dataset": "http_requests",
		"enabled": true
	}'

Odpověď:

{
  "errors": [],
  "messages": [],
  "result": {
    "id": <JOB_ID>,
    "dataset": "http_requests",
    "kind": "",
    "enabled": true,
    "name": "<DOMAIN_NAME>",
    "output_options": {
      "field_names": ["ClientIP", "ClientRequestHost", "ClientRequestMethod", "ClientRequestURI", "EdgeEndTimestamp", "EdgeResponseBytes", "EdgeResponseStatus" ,"EdgeStartTimestamp", "RayID"],
      "timestamp_format": "rfc3339"
    },
    "destination_conf": "r2://<BUCKET_PATH>/{DATE}?account-id=<ACCOUNT_ID>&access-key-id=<R2_ACCESS_KEY_ID>&secret-access-key=<R2_SECRET_ACCESS_KEY>",
    "last_complete": null,
    "last_error": null,
    "error_message": null
  },
  "success": true
}

Viz Spravovat Logpush pomocí cURL k aktualizaci úlohy (včetně jejího zapnutí a vypnutí).

Stáhnout logy z R2

Jakmile jsou vaše protokoly uložené v R2, můžete je stáhnout několika různými způsoby:

Dashboard

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

    Přejděte na Přehled ↗
  2. Vyberte svůj bucket.

  3. Na stránce vašeho bucketu vyhledejte požadovaný soubor protokolu.

  4. Klikněte na ... ikonu vedle souboru, abyste soubor stáhli.

Seznam souborů protokolu

AWS CLI

Cloudflare R2 je kompatibilní s S3, takže s ním můžete pracovat pomocí AWS CLI.

aws s3 cp s3://<BUCKET-NAME>/<PATH-TO-LOG-FILE> <LOCAL-DESTINATION>

Nahraďte <bucket-name>, <path-to-log-file>, a <local-destination> s vašimi konkrétními údaji.

Stažené soubory jsou komprimované gzipem, proto je před otevřením v textovém editoru musíte nejprve rozbalit.