← Cloudflare AI Gateway / ai-gateway / observability
Логирование
Логирование является фундаментальным элементом при разработке приложений. Логи дают ценную информацию на ранних этапах разработки и часто оказываются критически важными для понимания проблем, возникающих в продакшене.
Панель управления AI Gateway отображает логи отдельных запросов, включая пользовательский промпт, ответ модели, провайдера, время, статус запроса, использование токенов, расходы, длительность и user agent клиента, отправившего запрос. Когда DLP политик, журналы запросов, которые вызывают совпадение с DLP, также включают предпринятое действие DLP (Flag или Block), ID совпавших политик, ID совпавших профилей и конкретные записи обнаружения, которые сработали. Эти журналы сохраняются, что даёт вам возможность хранить их нужное время и извлекать больше пользы из ценных данных о запросах.
У каждого шлюза есть лимит хранилища, зависящий от вашего тарифа. Вы можете настроить этот лимит отдельно для каждого шлюза в его настройках. При достижении лимита хранилища новые логи перестанут сохраняться. Чтобы продолжить сохранять логи, необходимо удалить более старые записи и освободить место для новых. Чтобы узнать больше об ограничениях вашего тарифа, см. Лимиты.
Мы рекомендуем использовать аутентифицированный шлюз при хранении логов: это предотвращает несанкционированный доступ и защищает от недействительных запросов, которые могут раздувать объём хранимых логов и усложнять поиск нужных данных. Подробнее о настройке authenticated gateway.
Конфигурация по умолчанию
Логи, которые включают метрики, а также данные запросов и ответов, по умолчанию включены для каждого шлюза. Это поведение логирования одинаково применяется ко всем запросам в шлюзе. Если вас беспокоят вопросы конфиденциальности или соответствия требованиям и вы хотите отключить сбор логов, перейдите в настройки и откажитесь от логов. Если нужно изменить настройки логирования для отдельных запросов, вы можете переопределить эту настройку на уровне отдельного запроса.
Чтобы изменить конфигурацию логов по умолчанию в панели управления:
-
На панели управления Cloudflare перейдите к разделу AI Gateway страницу.
Перейдите в AI Gateway ↗ -
Выберите Настройки.
-
Измените Журналы параметр по своему усмотрению.
Логирование для каждого запроса
Чтобы переопределить поведение логирования по умолчанию, заданное на вкладке Settings, можно задавать заголовки для каждого запроса отдельно.
Сбор журналов (cf-aig-collect-log)
cf-aig-collect-log заголовок позволяет переопределить настройку логирования по умолчанию для шлюза. Если шлюз настроен на сохранение логов, этот заголовок исключит лог для конкретного запроса. И наоборот, если логирование на уровне шлюза отключено, этот заголовок сохранит лог для данного запроса.
В примере ниже используется cf-aig-collect-log чтобы обойти параметр по умолчанию и не сохранять журнал.
# Run `wrangler whoami` to get your account ID to replace $CLOUDFLARE_ACCOUNT_ID,
# and `wrangler auth token` to get an auth token to replace $CLOUDFLARE_API_TOKEN.
curl -X POST "https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/v1/chat/completions" \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--header "cf-aig-collect-log: false" \
--data '{
"model": "openai/gpt-4.1-mini",
"messages": [
{
"role": "user",
"content": "What is the email address and phone number of user123?"
}
]
}'Сбор payload журнала (cf-aig-collect-log-payload)
cf-aig-collect-log-payload заголовок позволяет управлять тем, сохраняются ли необработанные тела запроса и ответа (payload) для конкретного запроса. В отличие от cf-aig-collect-log, который управляет всей записью журнала, этот заголовок влияет только на хранение полезной нагрузки: метаданные, такие как количество токенов, модель, провайдер, код состояния, стоимость и длительность, по-прежнему будут записываться в журнал.
Это полезно, если вы хотите сохранять видимость метрик использования и метаданных запроса, не сохраняя при этом чувствительные данные промптов или completion.
| Значение заголовка | Поведение |
|---|---|
true |
Payload запроса и ответа сохраняются. |
false |
Хранение payload пропускается. Записи журнала сохраняются только с метаданными. |
В примере ниже используется cf-aig-collect-log-payload чтобы пропустить сохранение тел запроса и ответа, сохранив при этом журнал метаданных.
# Run `wrangler whoami` to get your account ID to replace $CLOUDFLARE_ACCOUNT_ID,
# and `wrangler auth token` to get an auth token to replace $CLOUDFLARE_API_TOKEN.
curl -X POST "https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/v1/chat/completions" \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--header "cf-aig-collect-log-payload: false" \
--data '{
"model": "openai/gpt-4.1-mini",
"messages": [
{
"role": "user",
"content": "What is the email address and phone number of user123?"
}
]
}'Поля DLP в логах
Когда Data Loss Prevention (DLP) политики включены на шлюзе, записи журнала для запросов, вызывающих совпадение с политикой DLP, включают дополнительные поля:
| Поле | Описание |
|---|---|
| Действие DLP | Действие, предпринятое политикой DLP: FLAG или BLOCK |
| Совпавшие политики DLP | ID совпавших политик DLP |
| Совпавшие профили DLP | ID профилей DLP, сработавших в рамках каждой совпавшей политики |
| Совпавшие записи DLP | ID конкретных записей обнаружения, совпавших в рамках каждого профиля |
| Проверка DLP | Определяет, произошло ли совпадение в REQUEST, RESPONSE, или оба |
Эти поля доступны как в средстве просмотра логов панели управления, так и через Logs API. Вы можете фильтровать логи по Действие DLP в панели управления, чтобы увидеть только помеченные или заблокированные запросы. Подробнее о мониторинге DLP см. в Отслеживание событий DLP.
Управление хранилищем журналов
Чтобы эффективно управлять хранением логов, вы можете:
- Настройте лимиты хранения логов: ограничьте в настройках шлюза количество логов, хранящихся для каждого шлюза, чтобы платить только за то, что вам действительно нужно.
- Включите Automatic Log Deletion: эта функция в настройках шлюза автоматически удаляет самые старые логи при достижении лимита хранилища для вашего аккаунта, благодаря чему новые логи всегда сохраняются без ручного вмешательства.
Как удалить журналы
Чтобы эффективно управлять хранением логов и обеспечить их непрерывное ведение, вы можете удалять логи следующими способами:
Автоматическое удаление журналов
Чтобы логирование не прерывалось при ограничениях на объём хранения логов шлюза, включите Automatic Log Deletion в настройках шлюза. Эта функция автоматически удаляет самые старые логи при достижении лимита хранения для вашего аккаунта, что позволяет сохранять новые логи без вмешательства человека.
Ручное удаление
Чтобы удалить логи вручную через панель управления, перейдите на вкладку Logs. С помощью доступных фильтров, таких как статус, кэш, провайдер, стоимость и других параметров в раскрывающемся списке, отфильтруйте логи, которые нужно удалить. После фильтрации выберите Delete logs, чтобы завершить действие.
Полный список доступных фильтров и их описаний см. ниже:
| Категория фильтра | Параметры фильтра | Фильтр по описанию |
|---|---|---|
| Статус | ошибка, статус | тип ошибки или статус. |
| Кеш | кэшировано, не кэшировано | в зависимости от того, были ли они кэшированы. |
| Провайдер | конкретные провайдеры | выбранный провайдер ИИ. |
| AI-модели | конкретные модели | выбранная модель ИИ. |
| Стоимость | меньше, больше | расходов, указав пороговое значение. |
| Тип запроса | Workers AI Binding, WebSockets | тип запроса. |
| Токены | Всего токенов, Токены на входе, Токены на выходе | количество токенов (меньше или больше). |
| Длительность | меньше, больше | длительность запроса. |
| Обратная связь | равно, не равно (палец вверх, палец вниз, без отзыва) | тип отзыва. |
| Ключ метаданных | равно, не равно | конкретные ключи метаданных. |
| Значение метаданных | равно, не равно | конкретные значения метаданных. |
| Log ID | равно, не равно | конкретный Log ID. |
| Event ID | равно, не равно | конкретный Event ID. |
| Действие DLP | FLAG, BLOCK | действие DLP, применённое к запросу. |
| User Agent | равно, не равно, содержит | User-Agent клиента, отправившего запрос. |
Удаление API
Вы можете удалять логи программно с помощью AI Gateway API. Более подробную информацию о DELETE конечной точки журналов см. в Документация по API Cloudflare.