← Cloudflare Logs / logs / logpush / logpush-job / enable-destinations
Включите IBM Cloud Logs
Cloudflare Logpush поддерживает отправку журналов напрямую в IBM Cloud Logs через панель управления или API.
Управление через панель управления Cloudflare
-
На панели управления Cloudflare перейдите к разделу Logpush на уровне аккаунта или домена (также называемого зоной).
Для аккаунта: Перейдите в Logpush ↗
Для домена (также называемого зоной): Перейдите в Logpush ↗
-
В зависимости от выбора вам доступны наборы данных уровня аккаунта и наборы данных, привязанные к зоне, соответственно.
-
Выберите Создание задания Logpush.
-
В Выберите пункт назначения, выберите IBM Cloud Logs.
-
Введите следующую информацию о получателе:
- HTTP Source Address - Например,
ibmcl://<INSTANCE_ID>.ingress.<REGION>.logs.cloud.ibm.com/logs/v1/singles. - Ключ API IBM - Дополнительные сведения см. в Документация IBM Cloud Logs ↗.
Когда вы закончите вводить данные получателя, выберите Продолжение.
-
Выберите набор данных для отправки в хранилище.
-
На следующем шаге настройте задание Logpush:
- Введите Название задания.
- В разделе Если журналы соответствуют, вы можете выбрать, какие события включить в журналы или исключить из них. См. Фильтры с дополнительной информацией. Эта опция доступна не для всех наборов данных.
- В Отправьте следующие поля, вы можете либо отправлять в хранилище назначения все журналы, либо выбирать, какие журналы отправлять.
-
В Advanced Options, вы можете:
- Выберите формат полей отметки времени в своих журналах (
RFC3339(по умолчанию),Unix, илиUnixNano). - Выберите частота сэмплирования для ваших журналов или отправлять случайно выбранный процент журналов.
- Включите скрытие данных для
CVE-2021-44228. Эта опция заменит каждое вхождение${сx{.
- Выберите формат полей отметки времени в своих журналах (
-
Выберите Отправить после того как настройка задания Logpush завершена.
Управление через API
Чтобы настроить задание IBM Cloud Logs:
- Создайте задание, указав соответствующий URL конечной точки и параметры аутентификации.
- Включите задание, чтобы оно начало отправлять журналы.
1. Создайте задание
Чтобы создать задание, выполните POST запрос к конечной точке заданий Logpush со следующими полями:
- имя (необязательно) - Используйте имя своего домена в качестве имени задания.
- output_options (необязательно) - Этот параметр используется для определения нужного формата и структуры вывода. Настраиваемые поля перечислены ниже:
- output_type
- timestamp_format
- batch_prefix и batch_suffix
- record_prefix и record_suffix
- record_delimiter
- destination_conf - Получатель журналов, состоящий из Instance ID, Region и Ключ API IBM ↗ в формате строки, указанном ниже.
ibmcl://<INSTANCE_ID>.ingress.<REGION>.logs.cloud.ibm.com/logs/v1/singles?ibm_api_key=<IBM_API_KEY>
- max_upload_records (необязательно) - Максимальное количество строк журнала на пакет. Значение должно составлять не менее 1,000 строк. Указать минимальное количество строк на пакет нельзя, поэтому файлы журналов могут содержать значительно меньше строк, чем указано.
- max_upload_bytes (необязательно) - Максимальный несжатый размер файла для пакета журналов. Рекомендуем значение по умолчанию 2 MB на одну отправку, исходя из ограничений IBM, которые наша система применяет для этого получателя. Минимальный размер файла задать нельзя, поэтому файлы журналов могут быть меньше указанного размера пакета.
- dataset - Категория журналов, которые вы хотите получать. См. Наборы данных для полного списка поддерживаемых наборов данных.
Пример запроса с использованием 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>",
"output_options": {
"output_type": "ndjson",
"timestamp_format": "rfc3339",
"batch_prefix": "[",
"batch_suffix": "]",
"record_prefix": "{\"applicationName\":\"ibm-platform-log\",\"subsystemName\":\"internet-svcs:logpush\",\"text\":{",
"record_suffix": "}}",
"record_delimiter": ","
},
"destination_conf": "ibmcl://<INSTANCE_ID>.ingress.<REGION>.logs.cloud.ibm.com/logs/v1/singles?ibm_api_key=<IBM_API_KEY>",
"max_upload_bytes": 2000000,
"dataset": "http_requests",
"enabled": true
}'Ответ:
{
"errors": [],
"messages": [],
"result": {
"id": <JOB_ID>,
"dataset": "http_requests",
"kind": "",
"max_upload_bytes": 2000000,
"enabled": true,
"name": "<DOMAIN_NAME>",
"output_options": {
"output_type": "ndjson",
"timestamp_format": "rfc3339",
"batch_prefix": "[",
"batch_suffix": "]",
"record_prefix": "{\"applicationName\":\"ibm-platform-log\",\"subsystemName\":\"internet-svcs:logpush\",\"text\":{",
"record_suffix": "}}",
"record_delimiter": ","
},
"destination_conf": "ibmcl://<INSTANCE_ID>.ingress.<REGION>.logs.cloud.ibm.com/logs/v1/singles?ibm_api_key=<IBM_API_KEY>",
"last_complete": null,
"last_error": null,
"error_message": null
},
"success": true
}См. Управлять Logpush с помощью cURL чтобы обновить задание (включая включение и отключение).