INTEGRITY Документация

Включите HTTP-назначение

Теперь Cloudflare Logpush поддерживает отправку журналов на настраиваемые HTTP-эндпойнты.

Обратите внимание, что при использовании Logpush для отправки в конечные точки HTTP клиентам Cloudflare необходимо самостоятельно настраивать аутентификацию отправляемых журналов. Например, клиент может указать секретный токен в URL-адресе или в заголовке HTTP получателя Logpush.

Управление через панель управления Cloudflare

  1. На панели управления Cloudflare перейдите к разделу Logpush на уровне аккаунта или домена (также называемого зоной).

    Для аккаунта: Перейдите в Logpush ↗

    Для домена (также называемого зоной): Перейдите в Logpush ↗

  2. В зависимости от выбора вам доступны наборы данных уровня аккаунта и наборы данных, привязанные к зоне, соответственно.

  3. Выберите Создание задания Logpush.

  1. В Выберите пункт назначения, выберите Назначение HTTP.

  2. Введите конечная точка HTTP куда нужно отправлять логи, и выберите Продолжение. - Вы можете использовать "header_*" параметры URL для установки заголовков запроса, например, для передачи токена аутентификации на вашу конечную точку HTTP.

  3. Выберите набор данных для отправки в хранилище.

  4. На следующем шаге настройте задание Logpush:

    • Введите Название задания.
    • В разделе Если журналы соответствуют, вы можете выбрать, какие события включить в журналы или исключить из них. См. Фильтры с дополнительной информацией. Эта опция доступна не для всех наборов данных.
    • В Отправьте следующие поля, вы можете либо отправлять в хранилище назначения все журналы, либо выбирать, какие журналы отправлять.
  5. В Advanced Options, вы можете:

    • Выберите формат полей отметки времени в своих журналах (RFC3339 (по умолчанию), Unix, или UnixNano).
    • Выберите частота сэмплирования для ваших журналов или отправлять случайно выбранный процент журналов.
    • Включите скрытие данных для CVE-2021-44228. Эта опция заменит каждое вхождение ${ с x{.
  6. Выберите Отправить после того как настройка задания Logpush завершена.

Управление через API

Чтобы создать задание Logpush, выполните POST запрос к URL эндпойнта для создания задания Logpush с соответствующими параметрами.

Поддерживаются следующие параметры:

Пример запроса с использованием cURL:

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
Создать задание 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>",
		"destination_conf": "https://logs.example.com?header_Authorization=Basic%20REDACTED&tags=host:theburritobot.com,dataset:http_requests",
		"output_options": {
				"field_names": [
						"ClientIP",
						"ClientRequestHost",
						"ClientRequestMethod",
						"ClientRequestURI",
						"EdgeEndTimestamp",
						"EdgeResponseBytes",
						"EdgeResponseStatus",
						"EdgeStartTimestamp",
						"RayID"
				],
				"timestamp_format": "rfc3339"
		},
		"max_upload_bytes": 5000000,
		"max_upload_records": 1000,
		"dataset": "http_requests",
		"enabled": true
	}'

Ответ:

{
  "errors": [],
  "messages": [],
  "result": {
    "id": <JOB_ID>,
    "dataset": "http_requests",
    "kind": "",
    "max_upload_bytes": 5000000,
    "max_upload_records": 1000,
    "enabled": true,
    "name": "<DOMAIN_NAME>",
    "output_options": {
      "field_names": ["ClientIP", "ClientRequestHost", "ClientRequestMethod", "ClientRequestURI", "EdgeEndTimestamp", "EdgeResponseBytes", "EdgeResponseStatus" ,"EdgeStartTimestamp", "RayID"],
      "timestamp_format": "rfc3339"
    },
    "destination_conf": "https://logs.example.com?header_Authorization=Basic%20REDACTED&tags=host:theburritobot.com,dataset:http_requests",
    "last_complete": null,
    "last_error": null,
    "error_message": null
  },
  "success": true
}

См. Управлять Logpush с помощью cURL чтобы обновить задание (включая включение и отключение).