Облачная платформаEvolution

Клиентские логи сервиса Object Storage


Клиентские логи сервиса Object Storage содержат детальную техническую информацию об обращениях к бакету через AWS S3 API и личный кабинет и запросах к s3-website. Они позволяют отслеживать ошибки в работе сервисов и приложений, находить узкие места и быстро реагировать на инциденты.

Примечание

Клиентские логи не содержат информации о событиях на уровне тенанта. Для получения этой информации используйте аудитные логи.

Включение логирования

По умолчанию логирование Object Storage отключено.

Чтобы сервис передавал клиентские логи, включите логирование и укажите лог-группу при создании или редактировании бакета в личном кабинете.

Просмотр и фильтрация логов

Логи передаются и хранятся централизованно в сервисе «Клиентское логирование».

Для просмотра логов перейдите в раздел личного кабинета Мониторинг → Логирование → Просмотр логов и выберите лог-группу, указанную при включении логирования.

По умолчанию отображаются логи всех сервисов и ресурсов. Чтобы отобразить только логи Object Storage, используйте фильтрацию по меткам Object Storage.

Для точной выборки логов используйте язык фильтрующих выражений. Это позволяет найти записи логов по определенным параметрам и их комбинациям. Например, по тексту сообщения в записи лога, важности лога и метке.

Ниже описаны уровни лога, метки и сообщения, которые передает сервис Object Storage.

Уровни логов

Фильтрация по уровням логов позволяет классифицировать логи по важности и срочности реагирования.

Сервис Object Storage передает логи уровня INFO.

Метки сервиса

Метки передаются в поле labels и позволяют детализировать запрос. Формат обращения к метке в выражении: labels.<label-name>="value".

Для фильтрации записей сервиса Object Storage применяются следующие метки.

Название метки

Описание

bucket_name

Название бакета.

tenant_id

Идентификатор тенанта.

Сообщение лога

Сообщение передается в поле message и имеет следующую структуру:

Параметр сообщения

Формат

Описание

bucket_owner

string

Идентификатор тенанта.

bucket

string

Название бакета.

time

string

Дата и время получения запроса в формате [dd/MMM/yyyy:HH:mm:ss ±zzzz].

remote_ip

string

IP-адрес субъекта, который отправил запрос.

requester

object

Информация о субъекте, который отправил запрос.

requester.subject_id

string

Идентификатор субъекта, который отправил запрос.

Если запрос не авторизован, значение unauthenticated.

requester.subject_type

string

Тип субъекта.

Возможные значения:

request_id

string

Уникальный идентификатор запроса.

operation

string

Описание запроса в формате REST.<http_method>.

Для некоторых операций название метода AWS S3 API, используемое в запросе, и название, отображаемое в логах, отличаются. Методы ListObjects и ListObjectsV2 записываются в логах в виде строки REST.ListBucket, ListMultipartUploads — REST.ListMultipartUpload, UploadPart — REST.PutObjectPart.

key

string

Ключ (название) объекта. Параметр передается только для операций с объектами.

request_uri

string

URI запроса.

status

string

HTTP-статус ответа.

error_code

string

Код ошибки, если она возникла.

bytes_sent

string

Число байт, отправленных в ответе на запрос.

bytes_received

string

Число байт, полученных в запросе.

obj_size

string

Размер тела ответа (Content-Length) в байтах.

total_time

string

Время выполнения запроса в миллисекундах. Считается от получения запроса до отправки последнего байта ответа.

turn_around_time

string

Время обработки запроса в миллисекундах. Считается от получения последнего байта запроса до отправки первого байта ответа.

referer

string

Значение заголовка Referer, если он был передан в запросе.

При отправке запроса через личный кабинет — https://console.cloud.ru/.

user_agent

string

Значение заголовка User-Agent.

version_id

string

Значение параметра version-id-marker в запросе ListObjectVersions — версия объекта, с которой начинается выдача.

signature

string

Тип подписи запроса.

  • sigv4AWS Signature V4;

  • Unauthorized — если запрос не подписан.

authentication_type

string

Тип аутентификации:

  • AuthHeader — данные аутентификации переданы в заголовках запроса;

  • QueryString — данные аутентификации переданы в параметрах запроса.

  • Unauthorized — запрос не подписан.

host_header

string

Эндпоинт подключения к хранилищу.

Примеры запросов

Примеры запросов к логам для решения частых задач Object Storage:

  • Найти все запросы на действия с бакетом my-bucket в тенанте acb8b360-4274-4c54-****-****:

    labels.bucket_name="my-bucket" AND labels.tenant_id="acb8b360-4274-4c54-****-****"
  • Найти все запросы на действия с бакетами my-bucket и my-bucket-1:

    labels.bucket_name="my-bucket" OR labels.bucket_name="my-bucket-1"
  • Найти все запросы на действия в тенанте acb8b360-4274-4c54-****-****, кроме действий в бакетах my-bucket и my-bucket-1:

    labels.tenant_id="acb8b360-4274-4c54-****-****" AND labels.bucket_name not_in ["my-bucket", "my-bucket-1"]

Отправка уведомлений о событиях в логах

На основе логов вы можете настроить уведомление о событиях или отклонениях в работе сервиса. Это позволит оперативно реагировать на инциденты, сбои и ошибки, а также снизить время простоя.