← Cloudflare Logs / logs / logpush / logpush-job / enable-destinations
Включите Datadog
Cloudflare Logpush поддерживает отправку журналов напрямую в Datadog через панель управления Cloudflare или API.
Управление через панель управления Cloudflare
-
На панели управления Cloudflare перейдите к разделу Logpush на уровне аккаунта или домена (также называемого зоной).
Для аккаунта: Перейдите в Logpush ↗
Для домена (также называемого зоной): Перейдите в Logpush ↗
-
В зависимости от выбора вам доступны наборы данных уровня аккаунта и наборы данных, привязанные к зоне, соответственно.
-
Выберите Создание задания Logpush.
-
В Выберите пункт назначения, выберите Datadog.
-
Введите или выберите следующую информацию о получателе:
- URL-адрес конечной точки Datadog, которым может быть любой из указанных ниже вариантов. Разницу между ними можно найти Справочник по API Datadog ↗.
http-intake.logs.datadoghq.com/v1/input
http-intake.logs.datadoghq.com/api/v2/logs
-
API-ключ Datadog, можно получить, перейдя по эти шаги ↗.
-
Сервис, Имя хоста, Поле ddsource Datadog, а также ddtags можно задать как параметры URL. Подробнее см. Раздел Logs ↗ в документации Datadog. Эти параметры необязательны, но могут быть полезны для индексирования или обработки журналов. Учтите, что значения этих параметров могут содержать специальные символы, которые следует кодировать для URL.
Когда вы закончите вводить данные получателя, выберите Продолжение.
-
Выберите набор данных для отправки в хранилище.
-
На следующем шаге настройте задание Logpush:
- Введите Название задания.
- В разделе Если журналы соответствуют, вы можете выбрать, какие события включить в журналы или исключить из них. См. Фильтры с дополнительной информацией. Эта опция доступна не для всех наборов данных.
- В Отправьте следующие поля, вы можете либо отправлять в хранилище назначения все журналы, либо выбирать, какие журналы отправлять.
-
В Advanced Options, вы можете:
- Выберите формат полей отметки времени в своих журналах (
RFC3339(по умолчанию),Unix, илиUnixNano). - Выберите частота сэмплирования для ваших журналов или отправлять случайно выбранный процент журналов.
- Включите скрытие данных для
CVE-2021-44228. Эта опция заменит каждое вхождение${сx{.
- Выберите формат полей отметки времени в своих журналах (
-
Выберите Отправить после того как настройка задания Logpush завершена.
Управление через API
Чтобы настроить задание Logpush для Datadog:
- Создайте задание, указав соответствующий URL конечной точки и параметры аутентификации.
- Включите задание, чтобы оно начало отправлять журналы.
Убедитесь Log Share разрешения включены, прежде чем пытаться читать или настраивать задание Logpush. Дополнительные сведения см. в Раздел Roles.
1. Создайте задание
Чтобы создать задание, выполните POST запрос к конечной точке заданий Logpush со следующими полями:
-
имя (необязательно) - Используйте имя своего домена в качестве имени задания.
-
destination_conf - Получатель журналов, состоящий из URL эндпойнта, заголовка авторизации и нуля или более необязательных параметров, поддерживаемых Datadog, в формате строки ниже.
- <DATADOG_ENDPOINT_URL>: Конечная точка приема HTTP-логов Datadog, которой может быть любая из указанных ниже. Разницу между ними можно найти по адресу Справочник по API Datadog ↗.
https://http-intake.logs.datadoghq.com/api/v2/logs -
<DATADOG_API_KEY>: Токен API Datadog можно получить, перейдя по эти шаги ↗. Например,20e6d94e8c57924ad1be3c29bcaee0197d. -
ddsource: Устанавливается наcloudflare. -
service,host,ddtags: Необязательные параметры, разрешенные Datadog.
"datadog://<DATADOG_ENDPOINT_URL>?header_DD-API-KEY=<DATADOG_API_KEY>&ddsource=cloudflare&service=<SERVICE>&host=<HOST>&ddtags=<TAGS>"- dataset - Категория журналов, которые вы хотите получать. См. Наборы данных для полного списка поддерживаемых наборов данных.
- output_options (необязательно) - Чтобы настроить поля, частоту выборки и формат временной метки, см. Параметры вывода журнала.
Пример запроса с использованием cURL:
Необходимые разрешения API-токена
Хотя бы одно из следующих права доступа токена требуется: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": "datadog://<DATADOG_ENDPOINT_URL>?header_DD-API-KEY=<DATADOG_API_KEY>&ddsource=cloudflare&service=<SERVICE>&host=<HOST>&ddtags=<TAGS>",
"output_options": {
"field_names": [
"ClientIP",
"ClientRequestHost",
"ClientRequestMethod",
"ClientRequestURI",
"EdgeEndTimestamp",
"EdgeResponseBytes",
"EdgeResponseStatus",
"EdgeStartTimestamp",
"RayID"
],
"timestamp_format": "rfc3339"
},
"dataset": "http_requests",
"enabled": true
}'Ответ:
{
"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": "datadog://<DATADOG_ENDPOINT_URL>?header_DD-API-KEY=<DATADOG_API_KEY>",
"last_complete": null,
"last_error": null,
"error_message": null
},
"success": true
}См. Управлять Logpush с помощью cURL чтобы обновить задание (включая включение и отключение).
Ограничения
Учитывайте следующие ограничения на отправку Logpush, описанные в Документация Datadog ↗.
Отправляйте журналы на платформу Datadog по HTTP. Ограничения на один HTTP-запрос указаны ниже:
- Максимальный размер содержимого на одну полезную нагрузку (без сжатия): 5 MB
- Максимальный размер одного журнала: 1 MB
- Максимальный размер массива при отправке нескольких журналов в массиве: 1,000 записей