← Cloudflare Logs / logs / logpush / examples
Spravovat Logpush pomocí cURL
Službu Cloudflare Logpush můžete spravovat z příkazového řádku pomocí cURL.
Než začnete, projděte si následující dokumentaci:
Krok 1: Získání ověřovací výzvy vlastnictví
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Logs Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/logpush/ownership" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"destination_conf": "s3://<BUCKET_PATH>?region=us-west-2"
}'Parametry
- destination_conf - Viz Cíl s podrobnostmi.
Odpověď
Do cíle se zapíše challenge soubor a název souboru bude uveden v odpovědi (název souboru může být vyjádřen jako cesta, pokud je to pro váš cíl vhodné). Například:
{
"success": true,
"errors": [],
"messages": [],
"result": {
"filename": "burritobot/logs/ownership-challenge.txt",
"valid": true,
"message": ""
}
}V dalším kroku při vytváření úlohy budete muset zadat token obsažený v tomto souboru.
Krok 2: Vytvoření úlohy
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Logs Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/logpush/jobs" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "<DOMAIN_NAME>",
"destination_conf": "s3://<BUCKET_PATH>?region=us-west-2",
"dataset": "http_requests",
"output_options": {
"field_names": [
"ClientIP",
"ClientRequestHost",
"ClientRequestMethod",
"ClientRequestURI",
"EdgeEndTimestamp",
"EdgeResponseBytes",
"EdgeResponseStatus",
"EdgeStartTimestamp",
"RayID"
],
"timestamp_format": "rfc3339"
},
"ownership_challenge": "<OWNERSHIP_CHALLENGE_TOKEN>"
}'Parametry
- název (volitelné) - Doporučujeme jako název úlohy použít název své domény, protože po vytvoření úlohy už ho nelze změnit.
- destination_conf - Viz Cíl s podrobnostmi.
- dataset - Kategorie protokolů, které chcete přijímat. Viz Datové sady pro úplný seznam podporovaných datových sad; tento parametr nelze po vytvoření úlohy změnit.
- output_options (volitelné) - Viz Možnosti výstupu protokolu.
- Obvykle zahrnuje požadovaná pole a formát časového razítka.
- Nastavte formát časového razítka na
RFC 3339("timestamp_format": "rfc3339") pro:- Používání služby Google BigQuery.
- Automatické zpracování časových razítek v Sumo Logic; viz časová razítka ze Sumo Logic ↗ s podrobnostmi.
- ownership_challenge - Ověřovací token potřebný k prokázání vlastnictví cíle.
- typ (volitelné) - Slouží k rozlišení úloh Logpush a Edge Log Delivery. Viz Typ s podrobnostmi.
- filtr (volitelné) - Viz Filtry s podrobnostmi.
Odpověď
V odpovědi obdržíte ID nově vytvořené úlohy. Například:
{
"errors": [],
"messages": [],
"result": {
"id": <JOB_ID>,
"dataset": "http_requests",
"kind": "",
"enabled": false,
"name": "<DOMAIN_NAME>",
"output_options": {
"field_names": ["ClientIP", "ClientRequestHost", "ClientRequestMethod", "ClientRequestURI", "EdgeEndTimestamp","EdgeResponseBytes", "EdgeResponseStatus", "EdgeStartTimestamp", "RayID"],
"timestamp_format": "rfc3339"
},
"destination_conf": "s3://<BUCKET_PATH>?region=us-west-2",
"last_complete": null,
"last_error": null,
"error_message": null
},
"success": true
}Krok 3: Povolení (aktualizace) úlohy
Nejprve získejte informace o konkrétní úloze pomocí ID úlohy:
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Logs Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/logpush/jobs/$JOB_ID" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"Odpověď
{
"errors": [],
"messages": [],
"result": {
"id": <JOB_ID>,
"dataset": "http_requests",
"kind": "",
"enabled": false,
"name": "<DOMAIN_NAME>",
"output_options": {
"field_names": ["ClientIP", "ClientRequestHost", "ClientRequestMethod", "ClientRequestURI", "EdgeEndTimestamp","EdgeResponseBytes", "EdgeResponseStatus", "EdgeStartTimestamp", "RayID"],
"timestamp_format": "rfc3339"
},
"destination_conf": "s3://<BUCKET_PATH>?region=us-west-2",
"last_complete": null,
"last_error": null,
"error_message": null
},
"success": true
}Upozorňujeme, že úloha není ve výchozím nastavení povolena ("enabled": false).
Pokud si nepamatujete ID úlohy, můžete ho získat pomocí ID zóny:
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Logs Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/logpush/jobs" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"Dále úlohu povolíte odesláním aktualizačního požadavku:
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Logs Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/logpush/jobs/$JOB_ID" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"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": "s3://<BUCKET_PATH>?region=us-west-2",
"last_complete": null,
"last_error": null,
"error_message": null
},
"success": true
}Jakmile úlohu povolíte, začnete protokoly dostávat během několika minut a poté v dávkách co nejdříve, dokud úlohu nezakážete. U zón s velmi vysokým objemem požadavků může první doručení protokolů trvat až několik hodin.
Kromě úpravy enabled, můžete rovněž aktualizovat hodnotu pro output_options. Chcete-li upravit destination_conf, budete muset vyžádat ověření vlastnictví a k požadavku na aktualizaci přiložit odpovídající token. Případně můžete stávající úlohu smazat a vytvořit novou.
Jakmile je úloha povolena a začne se provádět, last_complete zobrazí čas, kdy byla poslední dávka logů úspěšně odeslána do cíle:
Požadavek na získání úlohy podle ID a zobrazení last_complete info
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Logs Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/logpush/jobs/$JOB_ID" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"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": "s3://<BUCKET_PATH>?region=us-west-2",
"last_complete": "2018-08-09T21:26:00Z",
"last_error": null,
"error_message": null
},
"success": true
}Volitelné - Odstranění úlohy
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Logs Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/logpush/jobs/$JOB_ID" \
--request DELETE \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"Při odstraňování úlohy buďte opatrní, protože tuto akci nelze vrátit zpět.
Odpověď
{
"errors": [],
"messages": [],
"result": {},
"success": true
}Volitelné - Načtení úlohy
Načtěte konkrétní úlohu podle ID úlohy:
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Logs Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/logpush/jobs/$JOB_ID" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"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": "s3://<BUCKET_PATH>?region=us-west-2",
"last_complete": null,
"last_error": null,
"error_message": null
}
],
"success": true
}Načtěte všechny úlohy všech datových sad:
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Logs Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/logpush/jobs" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"Odpověď
{
"errors": [],
"messages": [],
"result": [
{
"id": <JOB_ID>,
"dataset": "spectrum_events",
"kind": "",
"enabled": true,
"name": "<DOMAIN_NAME>",
"output_options": {
"field_names": ["Application", "ClientAsn", "ClientIP", "ColoCode", "Event", "OriginIP", "Status"],
},
"destination_conf": "s3://<BUCKET_PATH>?region=us-west-2",
"last_complete": "2019-10-01T00:25:00Z",
"last_error": null,
"error_message": null
},
{
"id": <JOB_ID>,
"dataset": "http_requests",
"kind": "",
"enabled": false,
"name": "<DOMAIN_NAME>",
"output_options": {
"field_names": ["ClientIP", "ClientRequestHost", "ClientRequestMethod", "ClientRequestURI", "EdgeEndTimestamp","EdgeResponseBytes", "EdgeResponseStatus", "EdgeStartTimestamp", "RayID"],
"timestamp_format": "rfc3339"
},
"destination_conf": "s3://<BUCKET_PATH>?region=us-west-2",
"last_complete": "2019-09-24T21:15:00Z",
"last_error": null,
"error_message": null
}
]
}Volitelné - Aktualizace output_options
Pokud chcete přidat (nebo odebrat) pole, změnit formát časového razítka nebo povolit ochranu proti Log4j - CVE-2021-44228 zranitelnosti nejprve načtěte aktuální output_options pro vaši zónu.
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Logs Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/logpush/jobs/$JOB_ID" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"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": "s3://<BUCKET_PATH>?region=us-west-2",
"last_complete": "2021-12-14T19:56:49Z",
"last_error": null,
"error_message": null
},
"success": true
}Dále upravte output_options podle potřeby a vytvořte PUT požadavek. Následující příklad povoluje CVE-2021-44228 možnost redakce citlivých údajů.
Požadovaná oprávnění API tokenu
Alespoň jeden z následujících oprávnění tokenu je povinné:Logs Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/logpush/jobs/$JOB_ID" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"output_options": {
"field_names": [
"ClientIP",
"ClientRequestHost",
"ClientRequestMethod",
"ClientRequestURI",
"EdgeEndTimestamp",
"EdgeResponseBytes",
"EdgeResponseStatus",
"EdgeStartTimestamp",
"RayID"
],
"timestamp_format": "rfc3339"
}
}'Upozorňujeme, že v tuto chvíli CVE-2021-44228 možnost není v uživatelském rozhraní k dispozici a aktualizace úlohy Logpush přes uživatelské rozhraní tuto možnost odstraní.
Odpověď
{
"errors": [],
"messages": [],
"result": {
"id": <JOB_ID>,
"dataset": "http_requests",
"kind": "",
"enabled": true,
"name": null,
"output_options": {
"field_names": ["ClientIP", "ClientRequestHost", "ClientRequestMethod", "ClientRequestURI", "EdgeEndTimestamp","EdgeResponseBytes", "EdgeResponseStatus", "EdgeStartTimestamp", "RayID"],
"timestamp_format": "rfc3339"
},
"destination_conf": "s3://<BUCKET_PATH>?region=us-west-2",
"last_complete": "2021-12-14T20:02:19Z",
"last_error": null,
"error_message": null
},
"success": true
}